1. git add 添加修改文件到暂存区,不止是添加新文件。
2. git commit —amend -m ‘xxxx’ 使用新的修改替代上一次修改,覆盖操作
3. git checkout — file 丢弃file工作区的修改(还原当前修改)。
git checkout -b branch 创建并且切换分支
![](https://img.haomeiwen.com/i6883002/67565b69066d2633.jpg)
4. git reset HEAD file 撤销暂存区的修改
如果想撤销暂存区和工作区的,可以结合checkout 一起完成
git reset —soft 只改变提交点,暂存区和工作目录的内容都不修改
git reset —mixed 改变提交点,同时改变暂存区的内容
git reset —hard 暂存区,工作区内容都会修改到与提交点完全一致状态
git reset —hard HEAD 让工作区回到上次提交的工作状态,等同于下面的操作
git reset HEAD file
git checkout — file
5. git revert HEAD回退commit的代码,与reset的区别是,revert通过新增一次提交来覆盖原来的修改,并且是针对提交的repos , 而reset是直接回到原来的提交点,根据soft,mixed,hard来决定会退内容,当做merge的时候,reset中原来回退的提交点依旧会去做合并,会冲突的
6. rebase 和merge的区别,rebase将分支的修改在master上面重演,并抛弃分支。merge保留了原来的分支结构
7. git merge —no-ff -m ’xxx’ branch 强制使用非fast-forward 方式合并,为了保留分支的修改,如果用了ff 模式,等同于rebase
8. git stash 保留当前工作现场,例如:在同一个工作目录中,正在开发一个dev,还没有提交,但是马上需要修改另外一个更重要的问题,这时候,用这个命令保留当前工作场景,然后切换分支进行开发,结束后使用git stash pop或者apply都能拉回dev 的代码
9. git clone 仅仅是拉去到本地,没有与远程开发进行关联。如果需要同远程关联,第一种方法,git checkout -b dev origin/dev,第二种,git branch —track branch remote-branch
10. git pull失败时,可能本地与远程没有链接起来,这么操作,git branch —set-upstream-to=origin/dev dev
11. 第一次push ,git push -u origin master
12. 如果.gitignore文件写得有问题,用git check-ignore检查
13. git config —global alias.co checkout 定义别名
例子:git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
网友评论