环境:git客户端
一、提交命令
1、初始化仓库
git init
运行后会在该目录下生成.git目录。
2、查看仓库状态
git status
3、新建文件,如新建README.md
touch README.md
4、向暂存区中添加文件
git add
5、保存仓库的历史记录
git commit
直接运行后根据提示输入提交信息
或者输入直接一行的提交信息
git commit -m "description"
也可以使用以下命令来直接代替git add和git commit两步
git commit -am
6、查看提交日志
git log
只显示第一行简述信息:
git log --pretty=short
显示特定文件日志:(如README.md)
git log README.md
7、显示文件的改动:(同上)
git log -p (README.md)
8、查看更改前后的差别
git diff
结果中 +标出的是新添加的行,-标出的是被删除的行
查看本次提交与上次提交的差别:
git diff HEAD
HEAD是指向当前分支中最新一次提交的指针
二、分支命令
1、显示分支一览表
git branch
当前分支左侧标有*标记,此时提交时就会进入该分支内
git branch -a 可以同时显示本地仓库和远程仓库的分支信息
2、创建、切换分支
以当前的master分支为基础创建新的分支:
git checkout -b NewBranchName
或者连续执行以下两行也能达到上述效果:
git branch NewBranch
git checkout NewBranch
其中切换分支:
git checkout Branch
切换回上一个分支:
git checkout -
3、分支合并:(此时在master下,要合并NewBranch)
git merge --no-ff NewBranch
用到--no-f是在历史记录中明确记录下本次分支合并、
4、以图表形式查看分支
git log --graph
三、更改提交
1、回溯历史版本:
git reset --hard 哈希值
哈希值需要查看自身当前环境中Add index的哈希值,在图表形式中可以直观得看出。是每个分支节点下有个commit 后跟的一大串数字字母组合,并且哈希值只要输入四位以上就可以正常执行
也可以使用以下命令:查看当前仓库的操作日志来获取哈希值
git reflog
(其中,如果有冲突conflict可以手动介入并修改......)
2、修改提交信息
git commit --amend
3、压缩历史
git rebase -i
如git rebase -i HEAD~2是选定打开两个最新的历史记录。
四、推送
1、添加远程仓库
git remote add
如git remote add origin git@github.com:github-book/git-tutorial.git会将名为github-book用户远程仓库的名称设置为origin
2、推送至远程仓库
git push
如git push -u origin master推送至master分支
-u表示在推送时,将仓库的master分支设置为本地仓库当前分支的上游,之后再用git pull就可以直接从master获取内容。
五、获取
1、从远程仓库获取
git clone
如git clone git@github.com:github-book/git-tutorial.git
2、获取远程分支
git checkout -b branch origin/branch
可以讲branch分支获取至本地仓库
其中-b后面是本地仓库中新建分支的名称
3、获取最新的远程仓库分支
git pull origin branch
大量参考来源《github入门与实践》