常用 Git 操作

最新博客链接:https://feiffy.cc/Git

日常用到的GIT的一些操作,记下来,以备参考。

删除文件

git rm filename
git commit -m "remove filename"

如果删错了,可以恢复为版本库里最新的版本

git checkout -- filename

修改操作

隐藏临时修改

正在做一个功能的时候,突然来了bug修复任务,这时就需要先把当前分支上未提交的修改隐藏,然后切换到bug分支上修复bug,完成后提交并合并到原来的分支,再删除bug分支。

git stash
git checkout -b bugs
git commit -m "fix ...bugs"
git checkout master
git merge bugs
git branch -d bugs
git stash pop

注意,多次git stash操作会形成stash list,其名字按照stash@{0},stash@{1}命名,其中stash@{0}在最上面,git stash pop会恢复最上面的stash并删除该记录,然后原来的stash@{1}就变成了stash@{0},其结构类似栈。

git stash applygit stash pop都可用来恢复stash的内容,区别在于前者不会删除stash记录,而后者会删除已经恢复的stash记录。

git stash clear 清空所有的stash修改,如果你已经搞不清楚一团乱麻了,就清空它重头再来吧。

git stash list 查看 stash list

git stash show 查看最近一次stash即 stash@{0}保存的修改。

查看工作区修改(unstaged)

git status 比较简单,仅仅是列出了修改过的文件

git diff 查看具体修改的代码行

查看暂存区修改(staged)

git diff --staged

撤销工作区修改

git checkout --filename

这个操作一旦执行,就丢弃了所有未add的修改内容。

撤销暂存区修改

git reset HEAD .

git reset HEAD -- filename

即把暂存区的修改内容(staged)放回工作区(unstaged)中

分支操作

获取远程新分支到本地

git fetch
git checkout -q remote_branch

创建并切换到本地新分支(基于当前分支)

git checkout -b new_local_branch

一般的,凡是不是当前的工作的任务,比如bug修复或测试某些功能,我都会重新创建一个分支进行操作,因为创建新分支很快很方便也很安全,做完临时性的修改工作,再提交合并到原来的分支上,再删除创建的临时分支,简直完美。

创建本地新分支并推送到远程

git checkout -b new_local_branch
git push origin new_local_branch:remote_branch

远程分支名remote_branch随便怎么起,而且可以起多个,比如本地分支new_local_branch可以推动到远程test1,test2分支上,注意,这其实是在创建远程新分支,所以不能是已存在的远程分支名。

查看所有分支

查看所有远程分支:git branch -a

查看所有本地分支:git branch

删除分支

删除远程分支:git push origin :remote_branch
删除本地分支:git branch -d local_branch

posted @ 2017-04-27 09:41  feiffy  阅读(289)  评论(0编辑  收藏  举报