Git学习笔记

基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
git init ---把当前目录变成git可以管理的仓库
git add <file> ---把文件添加到仓库
git add --all ---把当前目录所有内容添加到仓库
git commit -m <message> ---把文件提交到仓库
git status ---输出当前掌握的仓库状态
git diff <file> ---输出当前改文件与已提交的文件的对比
git log ---输出commit历史记录
git log --pretty=oneline ---输出commit历史记录精简版
git log --graph ---命令可以看到分支合并图。
git reset --hard HEAD^ ---回滚上一个版本,如果想回滚上上版本,需要使用HEAD^^,以此类推
git reset --hard <commit id> ---回滚到某一个版本,需要commit id
git reflog ---记录了你的每一次命令
git checkout -- <file> ---让这个文件回到最近一次git commit或git add时的状态
git rm <file> ---用于删除一个文件

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

远程控制

1
2
3
4
5
git init
git add --all
git commit -m "first commit"
git remote add origin https://github.com/AJDecade/xxx.git
git push -u origin master

分支管理

1
2
3
4
5
6
git branch <name>  ----创建分支
git checkout <name> ----切换分支
git branch ----git branch命令会列出所有分支,当前分支前面会标一个*号。
git merge <name> ----合并分支,与master分支合并
git merge --no-ff -m <message> <name> ----这样分支历史上就可以看出分支信息
git branch -d <name> ----删除分支

BUG管理

1
2
3
git status ----把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash pop ----恢复工作现场
git branch -D <name> ----强行删除分支

多人协作

因此,多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

-------------本文结束感谢您的阅读-------------