对git的了解和使用
以前也用过git,而且在学习java课的过程中,老师也让每个人都将作业发到git上去。
git的一般常用命令:
git config --global user.name "用户名"
git config --global user,email "邮箱地址" ###这2个命名一般在初次创建git账户时使用
①创建版本库
git init ###初始化本地版本库
git clone url ###克隆远程版本库
②修改和提交
git status ###查看当前状态(在哪个分支?是否有要提交的文件)
git diff ###查看变更内容
git add . ###跟踪所有改动过的文件
git add fileName ###跟踪指定文件
git mv oldname newname ###改文件名
git rm fileName ###删除文件
git rm --cached fileName ###停止跟踪文件但不删除
git commit -m "备注" ###提交所有更新过的文件
git commit --amend ###修改最后一次提交
③查看提交历史
git log ###查看提交历史(用户、邮箱、时间和注释)
git log -p fileName ###查看指定文件提交历史(除了上面的还包括内容) 注意:查完之后想要结束该命令,需要在英文输入格式下按一下Q
git blame fileName ###以列表方式查看指定文件的提交历史 (将内容分为一系列的列表格式,文件中每行的时间不同(文件过大时才能看出来))
git log 的查找方式有很多种,这里不再多说
④撤销
git reset -- hard HEAD ###撤销工作目录中所有未提交文件的修改内容
git checkout HEAD fileName ###撤销指定的未提交文件的修改内容
git revert commit 撤销指定的提交
⑤分支与标签
git branch ###显示所有本地分支
git checkout branchName/tagName ###切换到指定分支或标签
git branch -d branchName ###删除本地分支
git branch branchName ###新建分支
git tag ###列出所有本地标签
git tag tagName ###基于最新提交创建标签
git tag -d tagName ###删除标签
⑥合并与衍合
git merge branchName ###合并指定分支到当前分支
git rebase branchName ###衍合指定分支到当前分支
衍合和合并的区别: 合并:两个分支链条的最后一个版本融合在一起。只是将最终结果合在一起
衍合,在一个分支的最新版本上重现另一个分支的修改过程,版本树就像两个链条串在一起变成一个链条。按照每行的修改次序重演一遍修改。缺点:当有分
支在开发时,进行衍合会影响其他人使用分支的时合并的问题。
⑦远程操作
git remote ###列出已经存在的远程分支
git remote -v ###查看远程版本库信息(显示对应的克隆地址)
git remote show remoteName ###查看指定远程版本库信息
git remote add remoteName url ###添加远程版本库( 在url创建名字为remoteName的仓库)
git fetch remoteName ###从远程库中获取代码
git pull remote branchName ###下载代码及快速合并
git push remote branchName ###上传代码及快速合并
git push remote :branchName/tagName ###删除远程分支或标签
git push --tags ###上传所以标签
创建分支详细步骤
git add fileName
git commit -m "注释"
git remote add origin url(url 为项目地址)
git checkout -b branchName
git push -u origin branchName
上传文件
git remote add origin url(url 为地址)
git add 文件名(包括路径)
git commit -m"add信息"
git push -u origin master(第一次上传文件需要-u)
如果不成功,git push origin master -f(强制push)
如果在向分支下推送需要 git push origin branchName