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/