一.git add . 或者 git add ###文件到暂存区之后,要恢复之前提交到暂存区之前的修改状态,
要使用git reset HEAD 之前的commitId ,再git checkout -- 文件路径
git checkout -- 文件路径 只适用于还没有提交到暂存区的情况下才能回退到修改前
二.查看某一个commit 的具体修改内容
git show commitId
三.查看修改历史便于找到该回退或者前进到哪个Commit的方式
git reflog可以看到所有提交记录
四.查看提交日志的只显示一行
git log --pretty=oneline
五.回退和前进到某一个commit的方式
git reset --hard HEAD^ 表示回退一个提交,以此类推^^为两个,那么回退100个不可能打100个^,那么可以用
git reset --hard HEAD~100(注意此处为~不是^)
六.检查冲突的时候
修改完冲突,git add . -A 一次,再git rebase --continue就可以push到服务器分支了
七.查看某个文件的内容
cat 文件名
八.合并分支
git merge branchName合并branchName的分支到当前分支
如果修改了同一个文件可能有冲突,解决完冲突之后,git add .,git commit 完成合并
九.合并分支(建议方式)
在一个分支dev上修改并提交后,在另一个分支master想合并这个分支dev,
git merge --no-ff -m "commit message" dev
即将dev分支的信息合并到master分支,这种方式是将合并作为一个commit来提交,这样方便以后回退到之前的版本。
区分了两个分支的commit信息,使得两个版本演进过程更加清晰
十.Bug修复的场景(场景存储与恢复)
当正在分支dev中开发时,开发进行到一半,内容没有完成,不能提交。这时又需要去修改一个Bug,这样就需要把当前的内容保存,再新建一个分支解决这个Bug,再回到dev分支恢复之前的场景继续开发任务。
具体git stash 存储当前修改内容
去拉一个分支修改完Bug后,再回到dev分支
git stash apply 恢复,但是要git stash drop一次才能把stash list删除。
如果要方便直接git stash pop就可以了,两步变一步。
十一.在一个分支dev上删除另一个修改了的分支feature
如果还没有merge,则直接用git branch -d feature会失败,这个时候,要用
git branch -D feature才能强行删除
十二.打标签的方式
1.git tag <tagName> ,eg. git tag v1.0
2.git tag <tagName> <commitId> , eg. git tag v0.9 6224937
3.git tag -a <tagName> -m <"说明文字"> commitId
十三.为命令配置别名
git config --global alias.你想配置的名字 "git 实际的名字"
eg. git config --global alias.co "commit -m"
这样就可以用git co "fix a bug"来提交一个修改
十四.Push本地分支到远程分支
git push origin local_branch:remote_branch
这个操作,local_branch必须为你本地存在的分支,remote_branch为远程分支,如果remote_branch不存在则会自动创建分支。
类似,git push origin :remote_branch,local_branch留空的话则是删除远程remote_branch分支。
十六.本地拉取服务器的不同分支
git checkout -b 本地新建分支名 想要拉取的服务器分支名
十七.查看服务器的所有分支名
git branch -r