用户初始化
1 git config (--global) user.name "qinziang"2 git config (--global) user.email "ziangqin.stu@gmail.com"
创建Repository(版本库)
1 mkdir learngit2 cd learnGit3 pwd4 5 git init
提交文件的基本方法
commit:版本库的快照 (tag也是版本库的快照)
1 git add readme.txt 2 git commit -m "wrote a readme file" 3 git status 4 5 修改readme.txt文件 6 git status 7 git diff readme.txt 8 9 git add readme.txt10 git status11 git commit -m "add distributed"12 git status
版本切换(回退)
1 git reset --hard HEAD^2 cat readme.txt3 4 git log5 6 git reflog7 git resetc3708 cat readme.txt
工作区和缓存区
管理修改:
git diff HEAD -- readme.txt
git diff
git diff --cached
git diff HEAD(/master)
git diff commit-d [<path>]
git diff --cached [<commit-id>][<path>...]
git diff [<commit-id>] [<commit-id>]
丢弃修改的方法:
git checkout -- readme.txt // 将工作区回退到上一次add或者commit时的状态 (丢弃工作区的修改)
git reset HEAD readme.txt // unstage, add的逆过程 (回退暂存区的修改)
git checkout -- readme.txt // 丢弃工作区的修改
关联远程库, 推送/克隆
git remote add origin git@github.com:ziangqin-stu/learnGit.git
git push -u origin master
git push origin master
git clone git@github.com:ziangqin-stu/gitSkills.git
分支操作
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
多人协作
查看远程库信息,使用git remote -v
多人协作的工作模式通常是这样:
-
-
首先,可以试图用
git push origin <branch-name>
推送自己的修改; -
如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并; -
如果合并有冲突,则解决冲突,并在本地提交;
-
没有冲突或者解决掉冲突后,再用
git push origin <branch-name>
推送就能成功!
-