首页 > 技术文章 > git中一些常见的命令

carol1987 2016-07-19 11:37 原文

基于远程某一分支新建本地分支,假如远程有master和dev分支,我本地只有master分支

我想要本地有一个dev1和远程dev是一样的

git checkout -b dev1origin/dev

 

强制用远程代码覆盖本地代码

$ git fetch --all

$ git reset --hard origin/xxx   // 这个xxx是本地的分支名 意思是重置本地分支xxx

$ git pull

 

克隆代码

git clone git@xxx.git   

 

 

生成ssh密钥

 

ssh-keygen -t rsa -C "xxx@xx.com" 选y 回车就行了

 

cat ~/.ssh/

 

cat ~/.ssh/id_rsa.pub

 

复制显示出来的代码,在网站上ssh key添加密钥

 

 

 

git checkout -b test  基于当前所在分支 新建一个叫test的本地分支(一般当前都是master分支,新建了test分支后,test分支和master分支的代码是一样的)

git push origin test:test   新建一个叫test的远程分支 (把本地的test推送到远程,就等于新建了一个远程分支)

git branch -u origin/xxx   把本地分支和远程分支关联起来

git branch -vv 查看本地分支和远程分支的关联关系

git checkout test 切换到test分支

 

git branch -D test 强制删除test分支

git push origin --delete xxx    删除远程分支 

 

合并master上的代码

git fetch origin 远程所有的分支代码都会同步过来

git remote update origin --prune   刷新远程分支列表


 

git merge origin/master 合并远程的master

 

git pull origin test  拉取test分支上的代码

 

git status 查看状态
git add 添加到缓存区
git commit 上传代码
git commit -a -m "注释"

 

本地有 dev 分支和其他分支,合并代码的时候先切到 dev 分支上

git checkout dev

拉远程 dev 代码

git pull origin dev

 

合并本地其他分支

git merge xxx

取消merge 

git reset --hard HEAD (or sha_1)  

 

把本地 dev 代码推送到远程 dev

git push origin dev

 

 

如果远程上有新的分支了,需要先

git fetch

一下,同步所有的远程分支

 

提交代码的正确顺序

先 git status 查看一下本地代码的状态,肯定会显示很多红颜色的文件,这些是改过的或者新添加的

 

然后 git add -A 

很多人喜欢用 git add . 或者 git add -u 实际上这几种方法有区别,具体区别看这个链接

https://www.cnblogs.com/skura23/p/5859243.html

 

然后 git pull origin 远程分支名

目的是拉取远程分支上最新的代码,以免一会冲突

 

然后 git commit -m '备注信息'

一般拉取代码的时候没报冲突,这步就不会有冲突了

 

最后 git push origin 远程分支名

提交代码成功

 

合并错了 取消merge

git checkout 【行merge操作时所在的分支】

git reset --hard 【merge前的版本号】

 

git stash 用法 

https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html

 

 

 

推荐阅读