美文网首页
Git 常用命令

Git 常用命令

作者: YYYYYY25 | 来源:发表于2018-05-23 18:09 被阅读6次
Git

一、本地操作:

1 初始化一个仓库: git init

2 添加文件到Git仓库,分两步:

2.1 git add <fileName>可以反复多次添加,也可以一次添加多个文件(git add . / git add file1 file2)

2.2 git commit -m “message”提交

3 git status随时掌握工作区的状态

4 git diff <fileName>查看修改的内容

5 在本地版本间穿梭: git reset --hard commit_id(回到上一版本:git reset —hard HEAD^)

ps:在Git中,用HEAD表示当前版本,上一版本就是HEAD^,同理上上版本HEAD^^,如果往上100个版本,可以写成HEAD~100

6 git log可以查看历史提交记录,以便确定要退回版本的commit_id (简化信息:git log --pretty=oneline)

7 git reflog查看命令历史

8 丢弃工作区的修改:git checkout --<fileName>(这里的 -- 很重要,如果没有--,就编程切换分支的命令)

9 丢弃暂存区的修改:第一步,git reset HEAD<fileName>(HEAD表示当前最新版本), 第二部git checkout --<fileName>

10 丢弃版本库的修改:和第5条同理,其实就是切换回先前的分支git reset --hard commit_id

11 删除文件:

11.1 方法一:先删除本地rm <file>,然后再git add/rm <file>,git commit -m “message”

11.2 方法二:直接git rm <file>,git commit -m “message”

ps: 如果是rm <file>,可以直接通过git checkout -- <file>修改回来

二、关联远程库:

1 在GitHub上创建完远程仓库后,在本地的仓库下运行命令,关联远程库:

git remote add origin git@server-name:path/repo-name.git

2 下一步,使用命令:git push -u origin master,将本地库的所有内容推送到远程库上

ps:第一次推送master分支时,加上了-u参数,git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送命令即可省略,直接用git push origin master

三、创建、合并分支:

1 查看分支:git branch,查看远程分支: git branch -r

2 创建分支:git branch <name>

3 切换分支:git checkout <name>

4 创建+切换分支:git checkout -b<name>

5 合并某分支到当前分支:git merge <name>

ps:合并分支时加入--no-ff参数,表示禁用Fast forward:git merge --no-ff -m “merge with no-ff” <name>

       这种操作合并后的历史有分支,能看出曾经做过合并,而Fast forward合并就看不出来

6 删除分支:git branch -d<name>

7 查看合并分支图:git log --praph

四、临时分支:

情景:在develop分支开发时,突然报出紧急bug:

1 在develop分支把工作现场“贮藏”起来:git stash

2 然后确定要在哪个分支上处理bug,加入在master上修复,就从master创建临时分支:git checkout master-> git checkout -b bug001

3 在bug001分支上处理bug,修复完成后切回master进行合并:git merge --no-ff -m “merge with no-ff” bug001

4 现在bug处理完了,回到develop查看刚刚”贮藏"的代码:git stash list

5 把”贮藏"的代码拿到develop上,继续开发:git stash pop(git stash apply + git stash drop)

ps:apply恢复,但stash的内容并不删除,需要再用drop删除;pop恢复的同时也删除了

五、新特性分支:

情景:开发一个新feature,但是突然说这个功能不做了(在新分支上已经执行add,commit操作)

1 丢弃一个没有被合并过的分支,强行删除该分支:git branch -D<name>

六、多人协作:

1 推送本地分支到远端:git push origin <name>,如果推送失败,先git pull抓去远程的新提交

2 拉取远端分支到本地:git checkout -b <name> origin/<name>

ps:查看权限:git remote -v

3 建立本地分支和远程分支的关联:git branch --set-upstream <name> origin/<name>

ps:如果git pull提示no tracking information,则说明没有创建关联

4 删除远端分支,使用下面两条命令:
git branch -r -d origin/<name>
git push origin :<name>

七、rebase:

1 git rebase操作可以把本地未push的分叉提交历史整理成直线

相关文章

网友评论

      本文标题:Git 常用命令

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