Github学习
git add:添加
git commit -m"":提交
git status:掌握工作区的状态
git diff:如果git status 告诉你文件被修改过,可以查看修改内容。
git log:查看提交历史
git reset --hard commit_id:commit_id为HEAD时为当前版本,HEA^就是上一个版本,
HEAD^^就是上上个版本,HEAD~100是上100个版本。也可以通过commit_id跳转到指定版本。
git reflog:查看命令历史,可以回到未来的某个版本。
commit只提交暂存区的东西,只有add才能将文件放到暂存区。所以修改文件必须先add,再commit。如果没add,commit提交不上去。
当改乱了工作区的某个文件的内容时,想直接丢弃工作区的修改时,可以用命令:git checkout --file.
如果你不但改了工作区的某个文件的内容,而且还add到暂存区,想丢弃修改,可以通过git reset HEAD<file>回到未add之前,在调用git checkout -- file.
删除文件:1、如果你提交了文件,然后将工作区的文件删除,但是版本库里还有这个文件,如果你要删除版本库中的文件,就用命令git rm,并且git commit;
2、如果你把工作区的文件误删了,因为版本库里还有该文件,可以通过git checkout --test.txt 将误删的文件恢复到最新版本。
git remote add origin git@github.com:loimh/learngit.git:将本地连接到远程库
git push -u origin master:将本地库的所有内容推送到远程库上
git push origin master:将本地master分支的最新修改至GitHub.
从远程库克隆:
git clone git@github.com:loimh/gitskills.git
创建和合并分支:
git checkout -b dev:创建dev分支,并且切换到该分支。相当于两条命令:git branch dev:创建dev分支 git checkout dev:切换到dev分支。
git branch:可以列出所有分支,当前分支前面会带*号。
git checkout 分支名:可以切换分支
git merge dev:合并指定分支到当前分支。例如:当前在master分支,执行该命令,就会将dev分支合并到master分支。
合并完成后,就可以删除分支:git branch -d dev
解决冲突:
当在dev分支进行修改,并提交。再在master分支进行修改,并提交。当将dev分支合并到master分支上时,会发生冲突。
这时我们就需要将合并失败的文件手动编辑为我们希望的内容,再提交。
git log --graph:可以查看分支合并图。
分支管理策略:
通常,合并分枝时,git会用Fast forward模式,在这种模式下,删除分支后,会丢掉分支信息。
如果强制禁用Fast forward模式,Git会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
所以,Fast forward模式看不出来曾经做过分支,而普通模式,合并后的历史有分支。
git merge --no-ff -m"" dev:因为禁用了fast forward模式,所以合并时会创建一个新的commit,
所以可以加上-m参数,把commit的描述加进去。
git log:查看分支历史
Bug分支:修复bug时,可以通过创建新的bug分支进行修复,然后合并,然后删除bug分支。
当手头工作没有完成时,先把工作现场git stash 一下,然后去修复bug,修复后,在git stash pop,回到工作现场。
git stash:把当前工作现场储藏起来。
git stash list:查看储存的工作现场。
git stash apply:恢复工作现场,但stash内的内容并不删除,需要用git stash drop删除。
git stash pop:恢复的同时把stash内容也删了。
git brach -D 分支名:强制删除指定分支。
多人协作:
1、首先,可以试图用git push origin dev:推送自己的修改;
2、如果推送失败,因为最新提交和你试图推送的提交有冲突,需要先用git pull试图合并。
3、如果合并有冲突,则解决冲突,并在本地提交。
4、如果没有冲突或者解决掉冲突后,再用git push origin 分支名 推送就能成功。
如果git pull 提示 no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令 git branch --set-upstream-to 分支名 origin
git remote -v:查看远程库信息。

浙公网安备 33010602011771号