git常用操作总结

1、本地仓库 & 远程仓库

1、创建本地仓库
	git init
2、链接远程仓库,默认名称是origin
	git remote add origin https://github.com/coding-xian/my-nlp.git
3、查看链接到的远程仓库地址
	git remote -v
	注意:会显示fetch和push两行,其中fetch标识的是远程仓库到本地仓库的地址(从哪里获取),
push标识的是本地仓库提交到的远程仓库地址(推送到哪里去);
4、删除本地仓库和远程仓库的链接(如果不行,去config中删除)
	git remote rm origin
	注意:origin是我们自定义的远程仓库的名称,仓库下面可能存在多个分支,所以仓库>分支
5、查看远程仓库
	git remote

2、本地仓库的分支 & 远程仓库的分支

5、查看分支
	git branch 仅查看本地分支,带*号的是当前正在使用的分支
	git branch -r 仅查看远程分支
	git branch -a 同时查看本地分支(绿色)和远程分支(红色)
	注意:我们在查看分支之前,要git add和git commit,因为git
	的分支必须指向一个commit,提交第一个commit后git自动创建
	master分支。(https://blog.csdn.net/qq_39671159/article/details/81261049)

6、创建分支
创建本地分支:
	git branch 123 创建本地分支,名称是123
	git checkout 123 切换到123分支
	git checkout -b local_456 即创建local_456分支,又切换到了local_456分支
创建远程分支:
	git push origin local_456:remote_456, 将本地分支local_456直接push到远程,就创建了远程分支remote_456;

7、删除分支(不能删除当前所在的分支)
删除本地分支:
	git branch -d 123
删除远程分支:
	git push origin :remote_456 删除远程分支,就是push一个空的分支到远程分支remote_456上,就删除了它
	或者:
	git push origin --delete remote_456

3、本地分支和远程分支之间的映射关系

8、查看本地所有分支和远程分支映射关系,有映射则会显示远程分支,没有就不显示
	git branch -vv
9、建立“当前”本地分支和远程分支的映射关系
	git branch -u origin/remote_456
	或者:
	git branch --set-upstream-to origin/remote_456
	注意:这个操作是需要切换到你需要建立联系的本地分支上
	注意:一个远程分支可以和多个本地分支建立映射,但是一个本地分支不能和多个远程分支建立映射
10、删除“当前”本地分支与远程分支的映射关系
	git branch --unset-upstream 
11、“新建”本地分支和远程分支的映射(需指定本地分支,没有默认当前分支)
	git checkout -b local_789 origin/remote_456
	这条指令会新建一个local_789本地分支,并和已有的远程分支建立映射
12、一个综合方法:通过push本地分支到远程分支(push),并和其建立映射(-u)
	git push -u origin local_789:remote_789
13、对12的简化:通过push,创建一个和本地分支相同名称的远程分支,并建立映射; 
	git push -u origin local_456

4、一些常见场景下的操作

1、将本地分支master push到远程分支上,此时会在远程新建一个同名的master分支,并且本地master会和远程master建立映射
git push -u origin master 
说明:搞这个映射的意义应该在于后续操作能够简化操作。

2、当我们修改了工作区中的文件时,需要先add到缓存区,再commit到当前分支上,最后才能push到远程分支上
比如,我修改了readme.txt和LICENSE.txt两个文件的内容,
首先,要将修改的文件提交的缓存区
	git add readme.txt LICENSE.txt
	或者:
	git add .
然后,将缓存区的内容提交到本地仓库的分支上,即当前所在的分支上
	git commit -m 'I changed 2 file, readme.txt and LICENSE.txt'
最后,将本地分支的内容提交到远程分支上(当我们建立了本地分支和远程分支的映射,就不需要指定“local_branch : remote_branch”了,同名的时候只需要指定前者)
	git push origin master

3、当我们在远程github上修改(增删改)了分支中的文件内容或文件
比如:从github上操作,在master分支中添加了一个999文件
此时,我再从本地分支push到远程分支,就会报错:rejected
解决方案1:
	直接强推,git push -f origin master,此时999文件就不会存在了,因为相当于本地分支的内容替换了远程分支
解决方案2:
	首先,git fetch origin master 取回远程分支master的更新
	
	然后,git merge origin/master 将当前本地分支与取回的修改过的远程master合并(然后会发现自己的本地工作区多了一个999文件)
	或者:
	git rebase origin/master  
	
	最后,git push origin master

4、远程操作时,即在github上给远程仓库创建新的分支后,本地应该进行同步
git remote        # 列出所有远程主机
git remote update origin --prune   # 更新远程仓库origin的分支
git branch -r      # 列出远程分支

补充(2021-10-12):

git push origin master:ess-v1 将本地master分支内容push到远程分支origin/ess-v1上,这里创建了ess-v1分支
git branch -u origin/ess-v1 然后再将当前分支和origin/ess-v1分支关联起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值