git常用命令

Git常用命令

基本命令

- git clone project #下载project到本地
- git checkout -b B1 origin/B1 #切换到B1分支,并跟踪远程分支B1
- git 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 #回退到某个版本
- git log --oneline --graph --decorate #查看当前分支checkout自哪个分支

持续更新中

常用组合用法

(1)为开源项目贡献源码(以github为例)

  1. 注册github账户
  2. fork目标账户到自己的仓库下(项目右上角的fork按钮)
  3. 克隆到本地,例如:git clone https://github.com/warm3snow/GitTest.git
  4. 修改项目内容,并提交. 例如:
$ 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)版本回退, 分支删除
```sh
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> #删除本地分支

(4) 查看代码变动

# 查看任意两个版本之间的改动:
$ git diff 版本号码1 版本号码2

#比较两个版本号码的src 文件夹的差异
$ git diff 版本号码1 版本号码2  src

=====持续更新中

posted @ 2018-09-30 16:48  warm3snow  阅读(270)  评论(0编辑  收藏  举报