常用的git命令

一、设置用户信息

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址

$ git config --global user.name "tingtang"
$ git config --global user.email tingtang@example.com

使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息

二、查看所有配置信息

$ git config --list

回车会输出:

user.name=tingtang
user.email=tingtang@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

三、获取帮助

$ git help config

四、克隆现有的仓库

$ git clone https://github.com/libgit2/libgit2

五、检查当前文件状态

没有add之前文件颜色是红色的

$ git status

六、暂存已修改文件

(1).代表暂存所有文件

(2)若要暂存单个文件只需把文件路径名拼接在后面即可git add xxxxxx

git add .

git add 命令执行之后,git status此时文件的颜色为绿色

七、要查看尚未暂存的文件更新了哪些部分

$ git diff

 八、提交更新

$ git commit -m "XXXXXXX"

九、查看提交历史

$ git log

十、撤销git add操作

git status 先看一下add 中的文件 
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.js就是对某个文件(XXX/XXX/XXX.js)进行撤销了

 十一、拉取远端的分支代码(dev分支)

git pull origin dev

 十二、推送代码

git push origin dev

十三、cherry-pick

场景:要把A分支的一个commit merge到B分支,

在A分支上gitk找到你要merge的那个commit,记住那个commit id(如:0771a0c107dbf4c96806d22bbc6ef4c58dfe7075

切换到B分支上,先git pull 一下最新的B分支的代码,再git cherry-pick 0771a0c107dbf4c96806d22bbc6ef4c58dfe7075,

现在你再输入gitk就可以看到那个commit已经被挑到B分支了

接着你正常的在B分支上git pull origin B,git push origin B,把代码push到B就好了

十四、stash

1、git stash

将一些文件暂时不想提交的文件放入暂存区中,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号。

注意:

        新增的文件,直接执行stash是不会被存储的。【换句话说:没有在git 版本控制中的文件,是不能被git stash 存起来的】

        那要怎么办呢,新增的文件我也想存起来,很明显,先执行下git add 加到git版本控制中,然后再git stash就可以了。

2、git stash list 

查看当前stash的所有内容列表

3、git stash pop

当前stash中的内容弹出,并应用到当前分支对应的工作目录上,与git stash 刚好对应。默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱。

4、git stash clear

移除全部的stash

5、git stash push xxx

暂存当前修改中的某一个文件(xxx)

6、git stash save '注释'

作⽤等同于git stash,区别是可以加⼀些注释, 执⾏存储时,添加注释,⽅便查找。

git stash save '注释内容'

7、git stash apply

把暂存的代码暴露出来 继续开发

将堆栈中的内容恢复到当前分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令能够将堆栈的内容多次运用到工作目录,适合用与多个分支的场景。

应用某一次的存储内容,但不删除改内容(即该存储的内容还是存储在栈内  git apply)

使用方法:git stash apply stash@{$num}

如果遇到以下问题报错,则需要转义一下。

转义:

十五、切换分支

git checkout A        普通切换到本地已有的分支A

git checkout -b  C  origin/C      切换到本地没有的分支C

十六、git merge解决分支合并的冲突

场景:需要把dev_release1上的代码合并到dev上去,在coding网站上merge时提示冲突,所以需手动merge并解决冲突。

1、在dev_release1拉取最新的dev_release1代码

2、再切到dev分支,拉取最新的dev代码

3、在dev分支上输入git merge dev_release1,此时git status可以查看哪几个文件冲突了

4、在开发工具上解决冲突

5、git commit -m "解决冲突"

6、git pull origin dev

7、git push origin dev

到这就完成了冲突的解决了

十七、查看所有本地分支

git branch

前面带*代表当前分支

十八、删除本地分支

git branch -d yourbranch      这个只是删除了本地分支, 远程的还在