一、设置用户信息
当安装完 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 这个只是删除了本地分支, 远程的还在