天天看点

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 <[email protected]>
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

           

=====持续更新中

作者:warm3snow

出处:http://www.cnblogs.com/informatics/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。