git常用命令

作者: 似水牛年 | 来源:发表于2018-12-30 19:19 被阅读0次

按照日常开发的顺序,整理经常用到的git命令

clone项目代码
git clone <git地址>

代码clone完成后,cd到项目目录下

创建开发分支

基于master创建开发分支,并把新建的分支提交到远程仓库

git checkout -b <branch_name> master
git push origin <branch_name>

分支名一般以feature_ 为前缀,如果是修复bug,以bugfix_为前缀
如果其他开发同学已经建了开发分支,我们只需检出该分支

git checkout <branch_name>

关于分支的其他一些常用命令

git branch (查看本地分支,带*的分支为当前工作的分支)
git branch -r (查看所有远程分支
coding...

这一步就是开发代码了,略过

检验代码修改

首先查一下添加,修改了哪些代码

git status
git diff <file_name> (查看具体文件内容的修改)

如果有想恢复的文件,放弃本地修改的

git checkout -- <file_name>

但是,需要注意的是,如果该文件已经 add 到暂存队列中,上面的命令就不灵喽,先让文件回到上次提交时的状态(last committed state):

git reset HEAD -- <file_name>
git checkout -- <file_name>
提交更改到本地仓库

确定修改没问题后,提交更改到本地仓库-- 要经常做,避免丢失更改!!

git commit -a -m "your comments here ..." (保存所有更改)

或者按单个文件提交代码

git add <file_name> (添加文件至缓存区,多个文件用 git add .) 
git commit -m "your comments here ..."
推送更改到远程仓库
git pull origin master (拉master最新的跟本地合并,有冲突解决了再提交)
git push origin <branch_name>

如果不知道远程库地址,可以使用下面的命令查看

git remote -v

下面是处理一些常见问题的方法

忽略某个文件的版本控制

有些文件是IDE工具生成的,或者是编译生成的中间文件,对于代码功能是无任何意义的,所以要在版本控制中去除这些文件

  • 对于untrack的文件,我们可以创建.gitignore文件
  • 对于已经track的文件,我们可以这样做:
git update-index --assume-unchanged <files>

这样,即使已经更改了文件,用 git status 也不会看见文件已经更改。
取消这种设定可以使用:

git update-index --no-assume-unchanged <files>

查看当前被忽略的、已经纳入版本库管理的文件:

git ls-files -v | grep -e "^[hsmrck]"
如何删除文件或者文件夹

拉取远程的Repo到本地,如果已经在本地,可以略过

git clone <git地址>

在本地仓库删除文件

git rm <file_name>

在本地仓库删除文件夹,此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r

git rm -r <folder_name>

提交代码并推送到远程仓库

git commit -m "your comments here ..."
git push origin <branch_name>
强制回退版本

使用 git log 命令查看所有的历史版本,获取某个历史版本的commit id,并强制回退到这个版本

git log
git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
git push -f -u origin master
代码修改完发现分支错误

前提是尚未提交到错误的分支:先将代码暂存到stash,然后切换正确的分支,从stash取出暂存的代码修改,把修改移动到正确的分支

git stash save "some comments..."
git checkout -b <branch_name> master
git stash pop
git add .
git commit -m "your comments here ..."

或者用暂存的修改创建新的分支,这个更方便:

git stash branch <branch_name>

相关文章

网友评论

    本文标题:git常用命令

    本文链接:https://www.haomeiwen.com/subject/ozovlqtx.html