Git常用命令
基本命令
git clone project
下载project到本地git checkout -b B1 origin/B1
切换到B1分支,并跟踪远程分支B1git status
查看本地修改情况git add test
将修改后的test加入到git版本管理中git commit -m "info"
本地提交git push
提交到远程仓库git pull
如果远程仓库有更新,需要首先pull,然后解决冲突后,才能push
高级用法
git rm --cached xxx
删除git add
添加的名为xxx文件git log
查看项目提交日志git show commitId
查看commitId版本提交内容的详细信息,不加参数默认为最新提交版本git blame xx
查看文件xx详细修改情况git reset
回退到某个版本
==========持续更新中==========
常用组合用法
(1)为开源项目贡献源码(以github为例)
- 注册github账户
- fork目标账户到自己的仓库下(项目右上角的fork按钮)
- 克隆到本地,例如:
git clone https://github.com/warm3snow/GitTest.git
- 修改项目内容,并提交. 例如:
echo "hello, I'm XXX" >> test
git add test
git commit -m "add XXX to test"
git push
在原项目中添加Pull/Request,等待审查和合并。(如果不打算贡献源码,也可以省略此步骤)
(2)查看某个指定文件的提交历史记录
查看test文件的提交历史
$ git log --pretty=oneline test
09780e981e8f1912b1e56ce62da409331120f501 (HEAD -> master, origin/master) add billhan2016 to test
60096153cadd3d67284e70b729d05a64a67d5c2c add warm3snow to test
根据后面的commit的提示信息,我们找到前面的版本号(每行前面的一串数字)
$ git show 60096153cadd3d67284e70b729d05a64a67d5c2c test
commit 60096153cadd3d67284e70b729d05a64a67d5c2c
Author: xxx <xxx@xxx.com>
Date: Sun Sep 30 16:35:43 2018 +0800
add warm3snow to test
diff --git a/test b/test
new file mode 100644
index 0000000..ef8745c
--- /dev/null
+++ b/test
@@ -0,0 +1 @@
+hello, I'm warm3snow
更细粒度的查看文件修改信息可以
$ git blame test 60096153 (hxy 2018-09-30 16:35:43 +0800 1) hello, I'm warm3snow 09780e98 (hxy 2018-09-30 16:40:55 +0800 2) hello, I'm billhan2016 (END)
(3)版本回退, 分支删除
git reset --hard <commitid> #删除本地修改并回退到commitid
git reset --soft <commitid> #删除提交,并保留修改
git reset --hard HEAD~1; git push --force #远程分支回退到上一个版本
git push origin --delete <branch_name> #删除远程分支
git branch -D <branch_name> #删除本地分支
===================持续更新中==============