Git常用命令

一、常用命令

1.创建版本库

git clone <url>    #克隆远程分支
git init           #初始化本地版本库
# git clone扩展补充:
git clone -b 分支名 <url>      #Git克隆指定分支
git clone -b 分支名 <url>  c:/User/zp/dev指定目录      #Git克隆指定分支到指定目录,或想要重命名的文件夹名称
git clone -b 分支名 <url>  文件夹名称      #Git克隆指定分支,设定为想要重命名的文件夹名称

2.分支管理

# 因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
git branch                        #查看分支
git branch <name>                 #创建分支
git checkout <name>或者git switch <name>            #切换分支
git checkout -b <name>或者git switch -c <name>      #创建+切换分支
git merge <name>                 #合并某分支到当前分支
git branch -d <name>             #删除本地分支

git push origin --delete <name>     #删除远程分支
git branch --set-upstream-to=origin/remote_branch  your_branch        #本地关联远程分支。origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支
git branch --set-upstream branch-name origin/branch-name    # 建立追踪关系,在现有分支与指定的远程分支之间

3.相关配置

git help git --help
git help git -a
git help clone 或者 git clone --help
git config --list
git config --global user.name "你的用户名"
git config --global user.email 你的邮箱
git config --global --unset  命名    #删除命令

4.远程同步

# 下载远程仓库的所有变动
$ git fetch [remote]

# 查看一下当前项目链接的远程仓库地址
$ git remote -v

# 删除远程主机
$ git remote rm <主机名>

# 显示某个远程仓库的信息
$ git remote show [remote]

# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]

# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]

# 上传本地指定分支到远程仓库 git push <远程主机名> <本地分支名> <远程分支名>
$ git push [remote] [branch]

# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force

# 推送所有分支到远程仓库
$ git push [remote] --all

二、查看

1、查看日志

git log --graph --pretty=oneline
git reflog

2、查看本地分支和远程分支的跟踪关系

$ git branch -vv
  develop   08775f9 [origin/develop] develop
  feature_1 b41865d [origin/feature_1] feature_1
* master    1399706 [my_github/master] init commit

三、演示

1.例如:创建仓库【项目提交到github】

git init
touch README.md
git add README.md
git commit -m "first commit"

# 增加一个新的远程仓库,并命名 git remote add [shortname] [url]
git remote add origin https://e.coding.net/test/a.git

git push -u origin master

2.例如:Git创建远程分支

//1、新建一个本地分支,并切换到新分支
git checkout -b localbranch
git branch

//2、把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名)git push <远程主机名> <本地分支名> <远程分支名>
git push origin localbranch:branch
git branch -a

//3、删除远程分支
git push origin :branch
或
git push origin --delete branch

//4、删除本地分支
git checkout master
git branch -d localbranch //合并完成后,就可以放心地删除dev分支了
git branch -D localbranch //在不检查merge状态的情况下删除分支(未合并)

3.例如:Git同时push到多个远程仓库

# 添加第二个远程地址时使用以下命令:
git remote set-url --add origin git@github.com:morethink/programming.git

# 查看远程分支:
git remote -v

origin	git@git.coding.net:morethink/programming.git (fetch)
origin	git@git.coding.net:morethink/programming.git (push)
origin	hexo@MyHost2:/var/repo/gitbook.git (push)

#也可以同时 push 到多个远程地址:
git push origin master

Everything up-to-date
Everything up-to-date

四、分支暂存功能

现有分支:master、dev、branch1。
例如:程序员A在branch1分支开发一个注册功能,突然接到了boss的紧急需求。在不丢失当前代码的情况下,开发新来的紧急需求。

1、A需要在branch1分支下暂存代码,即git stash。可使用git stash list查看
2、A切换分支,git checkout dev 
3、A新建branch2分支并切换,git checkout -b branch2,
[4、此步骤可省略git push origin branch2:branch2]
5、A在branch2分支把需求开发完成,提交 git commit -a -m "branch2 over"
6、切换到dev分支,合并branch2分支  git merge --no-ff -m "merge branch2 branch" branch2
7、删除branch2本地分支:git branch -d branch2   [删除远程分支:git push origin :branch2]
8、切换到branch1分支后继续开发注册功能 git checkout branch1
9、从暂存区之中进行恢复,git stash pop  或  [git stash apply   git stash drop]
10、开发完成,删除branch1分支,并合并到dev分支

参考:
https://segmentfault.com/a/1190000020023683
https://segmentfault.com/a/1190000016755475

案例:
https://blog.csdn.net/belonghuang157405/article/details/83014664 【将现有项目提交到码云(gitee)】
https://www.cnblogs.com/morethink/p/8700003.html 【Git同时push到多个远程仓库】

学习平台:
https://gitee.com/all-about-git
https://oschina.gitee.io/learn-git-branching/

posted @ 2019-07-15 16:16  MeetU  阅读(125)  评论(0编辑  收藏  举报