--1.git基本使用
git add --文件修改添加到暂存区
git log --pretty=oneline --显示从最近到最远的提交日志
git reset --hard HEAD^ --以把暂存区的修改撤销掉(unstage),重新放回工作区;HEAD是当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^
git reset --hard 1094a --只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊,找到那个append GPL的commit id是1094adb...,于是就可以指定回到未来的某个版本
git reflog --关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办,要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
git status
git diff HEAD -- code_file.txt --命令可以查看工作区和版本库里面最新版本的区别
git commit -m "my_code node" --把暂存区的所有内容提交到当前分支
git push origin HEAD:refs/for/master --合入master/分支
git status
git checkout -- code_file.txt --直接丢弃工作区的修改 ,命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
git rm test.txt --从版本库中删除该文件
--2.分支管理
git checkout -b dev --git checkout命令加上-b参数表示创建并切换 ,相当于以下两条命令:git branch dev 、git checkout dev
git branch --命令查看当前分支
git checkout master --dev分支的工作完成,可以切换回master分支:
git merge dev --git merge命令用于合并指定分支到当前分支
git branch -d dev --合并完成后,就可以放心地删除dev分支了
git branch --查看branch,就只剩下master分支了
git switch -c dev --创建并切换到新的dev分支
git switch master --直接切换到已有的master分支
Git鼓励大量使用分支:总结
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
--3.解决冲突
--用git log --graph命令可以看到分支合并图
git log --graph --pretty=oneline --abbrev-commit
//demo/
$ git log --graph --pretty=oneline --abbrev-commit
* cf810e4 (HEAD -> master) conflict fixed
|\
| * 14096d0 (feature1) AND simple
* | 5dc6824 & simple
|/
* b17d20e branch test
* d46f35e (origin/master) remove test.txt
* b84166e add test.txt
* 519219b git tracks changes
* e43a48b understand how stage works
* 1094adb append GPL
* e475afc add distributed
* eaadf4e wrote a readme file
最后,删除feature1分支:
$ git branch -d feature1
Deleted branch feature1 (was 14096d0).
///