基于远程某一分支新建本地分支,假如远程有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