Git使用 Git-查看远程分支、本地分支、创建分支

git clone和fork的区别
1.区别
git clone 是在自己电脑(这里我是ubuntu)直接敲命令,结果是将github仓库中的项目克隆到自己本地电脑中了
fork是直接访问github网站,在项目页面中点击fork,然后自己github项目中就会多出一个复制的项目
2.用法
如果我们想要修改他人github项目的话,我们直接git clone代码到本地是不能pull的,所以我们使用fork,先把代码复制到自己的github仓库,然后git clone到本地修改,然后在提交pull(这里的pull是pull到自己github仓库了,我们自己的github仓库中的代码是fork源的一个分支),这时候我们想要把修改的代码提交给他人的话,就可以在自己github上pull,等其他人看到后就可以把代码做一个合并
 
安装git后配置git:
$ git config --global user.name "Your Name"        //github账号(这里最好用姓名+员工号)
$ git config --global user.email "[email protected]"    //github邮箱(公司邮箱)
注意:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
 
 
使用远程仓库所需的配置(即添加ssh-keys):
 
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
 
先说几个名词 未被追踪的文件:指的是新建的文件或文件夹且还没加入到暂存区(新建的还没有被git add 过得) 未加入到暂存区的文件:指的是已经被追踪过,但是没有加入到暂存区(已经执行过git add/commit的但是这次修改后还没有git add) 举例: readme.md 已经被git add/git commit过,但是呢 我这次只是修改了,而且没有修改完,不能commit test 新建的文件夹,没有被git add/git commit过 有个急事需要处理,这时候我需要切换分支,去处理紧急任务,比如文中的举例去修改bug, 正确的步骤: git add test(让git去追踪这个新文件) git stash保留现场 如果我不执行这两个命令,那么我在修改BUG完成之后 git status,就会发现readme.md 没有添加到暂存区,同时又多了个test文件,但是自己的readme.md没有完成,万万不可以提交,这样导致bug的修改代码也提交不了。所以你需要 git stash,这样你在提交修改bug代码的时候 ,就不会看见readme.md 和 test。可以安心提交修改bug的代码。
 
当处于不同分支下,工作区间中看到的文件对应分支的,git下ls也只看到对应分支的.
merge分支,需要先切换到主分支下.
 
查看历史提交:git log --pretty=oneline --abbrev-commit
查看执行的历史命令:git reflog
 
 
将某个分支(默认clone下来的是master主分支)拉下来:
git remote add shenjiayu(远程仓库名)   ssh://[email protected]:2233/s00494122/gaia.git(远程仓库链接)
git remote -v
git fetch --all
git checkout -b lch/Triplet(自定义本地分支名) shenjiayu/TripletDataset2(要拉的分支名)
git log:查看最新的commit
这样拉拉下来的代码才是该分支的代码。
 
要合代码必须在项目中添加一个成员才具有权限merge:public FuXiCodeServ -> Master -> add Project
 
本地搭建git服务器:
 
 
git pull与git pull --rebase的区别:
 
fork出一个分支,只是原库的一个copy,当原分支更新时,fork出的分支并不会自动更新.
若想将原分支的更新同步到fork分支:
 
查看某个git命令的参数:git 子命令 -h
查看git所有的命令:git help -a /  git help
 
git branch --set-upstream 本地关联远程分支: https://blog.csdn.net/z1137730824/article/details/78254564
git init:直接在当前目录创建.git目录
git init 目录名:新建目录并在该目录下创建.git目录
git pull = git fetch + git merge
git pull origin master即git fetch origin + git merge origin/master
 

Git-查看远程分支、本地分支、创建分支

1.查看本地分支

$ git branch
* br-2.1.2.2
  master

2.查看远程分支

$ git branch -r
  origin/HEAD -> origin/master
  origin/feature/IOS_visualtrack
  origin/feature/android_visualtrack
  origin/master

3.查看所有分支

复制代码
$ git branch -a
* br-2.1.2.2
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/br-2.1.2.1
  remotes/origin/br-2.1.2.2
  remotes/origin/br-2.1.3
  remotes/origin/master
复制代码

4.切换远程分支

复制代码
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/Release
  remotes/origin/master

$ git checkout -b myRelease origin/Release
Branch myRelease set up to track remote branch Release from origin.
Switched to a new branch 'myRelease'
复制代码

PS:作用是checkout远程的Release分支,在本地起名为myRelease分支,并切换到本地的myRelase分支

5.合并分支

合并前要先切回要并入的分支

以下表示要把issue1234分支合并入master分支

$: git checkout master
$: git merge issue1234
Merge made by recursive.
 README |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

6.撤消上一次commit的内容(该操作会彻底回退到某个版本,本地的源码也会变为上一个版本的内容)

git reset --hard <commit-id>

以下表示要撤消“update build gradle configuration file”这一次的commit id,返回到"add battery settings ui"这一次的commit id,

扫描二维码关注公众号,回复: 9573121 查看本文章
复制代码
xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((c8303a9...))
$ git log
commit c8303a9e8db2bcf4edb7488e722a380f4e8858ec (HEAD)
Author: xp.chen <[email protected]>
Date:   Sat Oct 28 09:28:51 2017 +0800

    update build gradle configuration file

    Change-Id: I9ee532fd0d4698613698a64eb754fb98a8559e32

commit 8d8e5ccf24cf6836ab780aa3860270c3876e825a
Author: xp.chen <[email protected]>
Date:   Sat Oct 28 09:02:01 2017 +0800

    add battery settigns ui

    Change-Id: Ia907ee4e84f54c00a186d31378a7925a6adaba0e

xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((c8303a9...))
$ git reset --hard 8d8e5ccf24cf6836ab780aa3860270c3876e825a
HEAD is now at 8d8e5cc add battery settigns ui

xp.chen@YC-JG-YXKF-PC27 MINGW64 /f/ob ((8d8e5cc...))
$ git log
commit 8d8e5ccf24cf6836ab780aa3860270c3876e825a (HEAD)
Author: xp.chen <[email protected]>
Date:   Sat Oct 28 09:02:01 2017 +0800

    add battery settigns ui

    Change-Id: Ia907ee4e84f54c00a186d31378a7925a6adaba0e

复制代码

7. git commit -m 注释换行

git commit -m 注释可以通过单引号来换行,比如:

复制代码
$ git commit -m '
> 1.aaaaa
> 2.bbbb
> '
[master b25154b] 1.aaaaa 2.bbbb
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 ss.txt
复制代码

通过git commit --amend 命令可以查看到刚刚的log信息为

1.aaaaa
2.bbbb
 
 

Beyond Compare代码比较工具使用

合并代码前,先比较待合代码和远端代码的不同,确定哪些代码需要合。

  • 红色为有区别的文件(右键复制到右边,右箭头复制到右边)
  • 紫色为有不同的目录
  • 不等于号是需要修改的,约等于号主要是注释或格式不同,可不修改

Git 合并代码流程

1、先fork远端库(自己账户下会创建与远端库完全相同的个人库),然后将个人库clone到本地:执行git clone操作, 所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是本地的master分支自动“追踪”origin/master分支;因此,git clone执行后,git remote -v可以看到已经有分支输出。

    git clone ssh://[email protected]:2233/l00517779/ui_multi_annotation.git

2、进到本地目录, git remote -v:查看远端库3、将要合并的远端主库添加到远端库列表:

git remote add top ssh://[email protected]:2233/ModelArts/UI-Console/ui_multi_annotation.git
git remote -v:可以看到多了远端top(top表示远端主机名,而不是远端分支名; 默认有个master分支)

4、将最新的远端库top的master分支代码拉到本地并与当前分支合并(git pull <远程主机名> <远程分支名>:<本地分支名>,这里省略本地分支名表示与当前分支合并):

$ git pull top master
remote: Counting objects: 173, done.
remote: Compressing objects: 100% (149/149), done.
remote: Total 173 (delta 90), reused 0 (deRecltaeiving objects: 45% (78/1 0)
Receiving objects: 100% (173/173), 105.75 KiB | 0 bytes/s, done.
Resolving deltas: 100% (90/90), completed with 28 local objects.
From ssh://code-cbu.huawei.com:2233/ModelArts/UI-Console/ui_multi_annotation
* branch           master     -> FETCH_HEAD
* [new branch]     master     -> top/master
Updating 2936c86..7a0181c
error: Your local changes to the following files would be overwritten by merge:
      EWS-console/src/main/webapp/src/app/business/atelier/configures/atelierRouterConfig.js
Please commit your changes or stash them before you can merge.
Aborting

从远端拉代码到本地报错,因为本地的修改和远端新代码修改冲突了.

5、将未提交的本地修改先暂存:

git stash 

6、再从远端拉代码:

git pull top master

7、恢复本地修改:

$ git stash pop
Auto-merging EWS-console/src/main/webapp/src/app/business/atelier/configures/atelierRouterConfig.js
On branch master
Your branch is ahead of 'origin/master' by 14 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
      modified:   EWS-console/src/main/webapp/src/app/business/atelier/configures/atelierRouterConfig.js
      modified:   EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/taskListCtrl.js
      modified:   EWS-console/src/main/webapp/src/app/business/atelier/services/dataService.js

Untracked files:
(use "git add <file>..." to include in what will be committed)
      EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/dataLabelTextClassificationManageCtrl.js
      EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/dataLabelTextLabelManageCtrl.js
      EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/dialog/deleteTag4LabeledTextCtrl.js
      EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/dialog/saveTip4TextClassifyCtrl.js
      EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/dialog/textClassifyExampleCtrl.js
      EWS-console/src/main/webapp/src/app/business/atelier/controllers/labelTask/dialog/textLabelExampleCtrl.js
      EWS-console/src/main/webapp/src/app/business/atelier/views/labelTask/dataLabelTextClassificationManage.html
      EWS-console/src/main/webapp/src/app/business/atelier/views/labelTask/dataLabelTextLabelManage.html
      EWS-console/src/main/webapp/src/app/business/atelier/views/labelTask/dialog/deleteTag4LabeledText.html
      EWS-console/src/main/webapp/src/app/business/atelier/views/labelTask/dialog/saveTip4TextClassify.html
      EWS-console/src/main/webapp/src/app/business/atelier/views/labelTask/dialog/textClassifyExample.html
      EWS-console/src/main/webapp/src/app/business/atelier/views/labelTask/dialog/textLabelExample.html

Auto merge表明远端代码和本地修改合并成功;若出现error,多半是他人合并的修改和自己的修改冲突了(即修改的同一文件),此时手动修改文件(删除>>>和<<<)可解决冲突.8、添加所有修改:

git add .
git status:可查看提交修改前后的状态

9、提交修改:

git commit -m "BUG2019092301515 团队标注:文本分类+命名实体"

10、将本地库推到个人远端库:

git push origin master

11、codeclub网站新建合并请求

Merge Requests -> New Merge Request -> 选择个人远端库分支、主库分支 -> Compare branches and continue -> 选择合并人即可.进入个人远端分支库, 选择Merge Requests,分支名选master,合并的目的远端主库选add top对应的库.


简化步骤:

  • 1、git clone fork后自己的远端库链接非主库并cd到该目录下
  • 2、若没有添加远端主库,则添加远端主库 git remote add top 远端主库链接git remote -v:查看远端主库
  • 3、将远端主库最新的代码拉到本地库git pull top(远端主库) master(远程分支名)
  • 4、手动对目录代码进行修改后,添加所有修改git add .git status
  • 5、提交修改git commit -m "修改描述"
  • 6、将本地库推到个人远端库git push origin(个人远端库名) master(本地分支库名)
  • 7、登录个人远端库,新建合并请求

常见git命令:https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

修改已提交的commit描述:https://www.jianshu.com/p/098d85a58bf1

提交commit的描述: 均用‘BUG2019110100832’每次commit前均先pull


非本地Master仓库修改代码,合入远程主库

解决办法1:

  • 1、若本地没有git仓库,先fork远端主库,然后在fork的个人远端库Settngs -> Members -> 搜索public FuXiCodeServ 角色选"Master",再点击Add to project.git clone ssh://[email protected]:2233/l00517779/ui.git
  • 2、cd 到 本地clone的根目录
  • 3、git remote add top 远端主库链接
    • git remote -v
  • 4、将远端top主机的master主库最新的代码拉到本地:
    • git pull top master 或 git pull top master --rebase
  • 5、用Compare Beyond工具,比较代码编辑目录的文件(修改过的文件)和本地master库目录的文件,将修改过的部分添加到master库文件中,以解决冲突(master库中有,编辑目录中没的无需处理,只处理冲突).并将编辑目录中添加的文件拷贝到master库目录中.
  • 6、提交修改
    • git status
    • git add .
    • git commit -m "单号 描述"
    • git log
  • 7、推到远程个人仓
    • git pull top master --rebase:push前再拉一次检查是否有冲突;若还有冲突用IDE修改master的冲突文件(里面会有>>或<<标识冲突),然后git add .,最后用git rebase --continue合并冲突即可。
    • git push origin(个人远端库名) master(本地分支库名) (若报错慢于主库,则可以加--force)

解决办法2:

  • 1、本地master拉远端库;
  • 2、创建与远端分支相同的本地分支:git checkout -b 本地分支名 远程仓库名/远程分支名;
  • 3、添加配置文件等与远端库不一样的运行所需文件;
  • 4、git stash:将配置部署所需文件的添加修改保存下来;
  • 5、git stash apply:将保存的修改重新应用到本地分支(git stash pop会删除最新一次的缓存;而git stash apply是复制一份最新的缓存而不会删除,这样下次还可以继续使用该缓存);
  • 6、git add .:将此次配置文件的添加修改add,这样下次git stash就不会将add过的修改保存下来。修改调试本地分支的代码;
  • 7、git stash:将本地分支的代码修改保存到最新一次的缓存中;(git stash貌似会将当前未add过的修改保存下来,当前工作空间将不再有该修改,若切换工作空间前不保存修改,则当前工作空间的的修改将丢失.若修改未提交即使add了,切换工作空间修改也会丢失,前面的add无效)
  • 8、git checkout master:切换回master分支
  • 9、git stash apply:将最新的缓存应用到本地master分支,即将代码修改应用到master;
  • 10、git add .
  • 11、git commit -m "描述":在本地master分支提交代码
  • 12、git pull top master --rebase
  • 13、git push 个人远端仓库名 本地分支名:远程分支名

下次修改代码可以直接使用之前保存的配置文件的添加修改:

  • git pull 远端库名 远端分支名:本地分支名 / git pull 远端库名 本地分支名:将最新远端代码拉到本地分支
  • git stash apply 配置添加修改缓存名:在新代码上应用配置文件的添加修改
  • 修改调试本地分支的代码;
  • 之后与前面相同.
解决办法3:

将配置文件的添加修改独立成远端某条分支的提交,然后每次需要使用配置文件时,利用git cherry-pick拉该分支合入到当前分支.

cherry-pick使用:https://blog.csdn.net/FightFightFight/article/details/81039050

本地Master仓库修改代码, 合入远程主库

  • 1、检查分支情况
    • git branch -vv
    • git remote -vv
    • git status
  • 2、修改前
    • git pull top master --rebase
    • git log
    • git log --oneline
  • 3、在master上修改代码
  • 4、修改后
    • git status
    • git add .
    • git commit -m "描述"
    • git log
  • 5、推到远程个人仓
    • git pull top master --rebase
    • git checkout -b xxx(本地分支名,分支名最好根据问题单取名,远端个人仓分支名与这个相同)
    • git branch -vv
    • git remote add 个人远端仓库名 个人远端仓库地址
    • git push 个人远端仓库名 本地分支名:远程分支名 --表示将本地分支push到远端库的分支; 当本地分支名为空时,则表示删除远端分支.如果远端分支省略,则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建.

相关命令:

  • git branch -a:查看关联的远程分支
  • git branch:查看本地分支(*表示当前分支)
  • git checkout master:切换回master分支
  • git stash list:查看缓存列表
  • git stash apply stash@{2}:根据git stash list列举出的缓存名,应用更早的缓存(git stash同时具备堆栈和列表的特性)
  • git checkout -b serverfix origin/serverfix:在本地创建与远程分支完全相同的分支,并切到本地新建的分支.
  • git push <个人远端仓库名> <本地分支名>:<远程分支名>
  • git pull <远程主机名> <远程分支名>:<本地分支名> (注意区别git push)
  • git pull 或 git pulll --rebase:只有当前本地分支只有一个追踪分支时,远程主机名和远程分支名均可省略。对于git clone再执行git remote add的追踪分支数大于1,应当使用全部参数而不省略

modelArts ui利用cherry-pick合代码到top库

  • 1、新建本地仓在apache-tomcat-9.0.29\webapps\modelart-快加载目录下打开gitbash执行命令git init
  • 2、codeclub新建空项目 your_roject_name,得到远程仓ssh
  • 3、本地仓关联远程仓:将modelart-快加载内容推到your_roject_namegit remote add your_origin_name 远程仓ssh
  • 4、本地master分支关联远程仓master分支,pushgit push –set-upstream your_origin_name master
  • 5、apache-tomcat-9.0.29\webapps\modelarts以后就在这个目录下改代码,改完git add/commit/push到your_origin_name,然后得到commitId
  • 6、到本地合代码目录ui下,关联到远程仓your_roject_name
  • 7、先pull远端top库,更新ui代码
  • 8、然后在ui目录下执行git cherry-pick commitId,将步骤5的提交到your_origin_name的修改应用到ui目录。若没有冲突,cherrk-pick命令将自动提交即在ui目录下执行相同的git commit 修改;若存在冲突,在ui目录下解决冲突,git add . 然后git cherry-pick –continue继续提交或手动执行git commit来提交。
  • 9、push前再次在ui目录下pull远端top库,若没有冲突则直接push到个人远端库

git pull 报错:'Cannot pull with rebase'原因:本地有未暂存的修改解决:https://blog.csdn.net/u012385190/article/details/70670213

 

本地需求1已commit提MR但没合,现要搞另外一个新需求:

本地新建分支并与远端分支相同:checkout -b 本地新分支 远端库/远端分支

 

 

克隆仓库
访问主库<http://code-cbu.huawei.com/ModelArts/DataManager/gaia>,先Fork
Clone 主库
git clone http://code-cbu.huawei.com/ModelArts/DataManager/gaia.git
查看仓库状态
显示所有修改状态
git status
显示远程库状态
git remote -vv
显示分支状态
git branch -vv
此时主库的别名为origin
添加fork仓库
git remote add fork http://code-cbu.huawei.com/l00224488/gaia.git
此时自己仓库的别名为fork
查看本地分支追踪的上游分支
git branch -vv
* master 986c2c20 [origin/master] Merge branch 'BUG2019083100187_validateRunningTaskForDataset' into 'master'
master代表本地分支,后面的[origin/master]代表本地分支追踪的是originmaster分支
修改本地分支追踪的上游分支
一般本地分支一定要追origin的某个分支(否则pull更新不到其他人的代码),可以通过如下命令修改分支的上游分支
git branch -u origin/gaia-0831
此示例表示将本地分支最终origingaia-0831分支
新建分支
默认本地是使用的master分支,如果在本地新建分支,可以使用
git checkout -b BRANCH_NAME
此分支是基于git本地当前分支创建的,不一定是服务端最新的代码
如果要创建一个和服务端相同的分支,可以使用
git checkout -b BRANCH_NAME origin/BRANCH_NAME
此时本地新建的分支BRANCH_NAME就是拉取服务端BRANCH_NAME的代码
代码修改
先更新本地代码到origin最新的分支
git pull --rebase
--rebase表示变基更新,如果本地有commit,此时会先将服务器的commit拉下来,然后基于服务端最新代码将本地commit
重新合入,保证本地不会出现merge的提交(当然,可能有冲突,另外解决)
修改代码,并commit
git add xxxxx
git commit
再次更新origin的内容
git pull --rebase
解决完冲突之后,提交到fork仓库
git push fork master:master
示例为将本地master分支提交到forkmaster分支,分支名称可以任意
追加修改的文件到上一次commit
如果commit之后,还没有push到仓库前,发现还有文件要修改,且要与commit合并,此时可以
先修改文件
执行git add XXXX
将修改文件追加到上一次commit
git commit --amend
在打开的窗口中修改提交信息,然后:wq保存即可
另外如果commitpushfork库,但是没有合入origin库,可以按上述逻辑先将文件合入commit,然后强制pushfork(
fork库上对应分支不能有自己其他提交,否则会覆盖丢失)
git push fork master:master -f
修改提交信息
如果commit之后,发现信息有误,可以执行
git commit --amend
在打开的窗口中修改信息,然后:wq保存即可
####合并多个本地提交
比如一个功能本地分为多次提交,最终push上库推荐合并为一个
首先查看本地提交日志
git log
查看自己有多少个提交需要合并
合并多个提交
git rebase -i HEAD~2
表示将本地前2个提交合并
此时会弹出需要合并的提交信息,第一个pick保留,剩余的pick改为s

pick a0c4b08f commit1
pick 2b106445 commit2
改为
pick a0c4b08f commit1
s 2b106445 commit2
:wq保存,此时会另外弹出一个窗口用于编辑最终的提交信息,可以删除多余的内容(注意#是注释,实际不会提交上去)
填写最终的commit信息,然后:wq即可
查看是否合并
git log
本地暂存
当本地有修改东西,在没有commit之前,并不能pull服务端的代码。如要pull代码,且不提交本地修改,可以使用gitstash
功能
将本地修改全部暂存起来
git stash
查看本地暂存列表
git stash list
恢复本地暂存列表第一个提交
git stash pop
清空本地暂存列表
git stash clear
解决冲突
如在git pull --rebase时发生冲突,此时也有多种方法解决。
先回滚pull,另外找个目录Clone主库代码,使用Beyond Compare合并自己的代码到新库,然后在新库中commit
push
git rebase --abort
Intellij IDEA中,在项目根目录上邮件,点击Git,通过IDEA来合并冲突的文件

------------------------- 推开发环境:
1、git add .
2、git commit 回车按模板修改commit信息
3、若再次修改了:git commit --amend
4、跟踪远端top/master分支:git branch -u top/master
5、把远端top/master最新代码拉下来:git pull --rebase
6、若报ERROR COMPLICT代码冲突,打开IDEA -> 项目 -> 右键Git -> Resolve Complict解决冲突
7、继续rebase:git rebase --continue
8、push前再次拉远端代码以确保无冲突:git pull --rebase
9、将本地master分支推到远端主库的个人分支top/l00517779:git push top master:l00517779 -f
git rebase失败,git rebase --abort取消rebase
 
进入FUXI -> 乌兰察步三-开发环境_快速部署 -> 运行 -> 选中分支l00517779 -> 确定即可.
 
修改代码后,如果重新推到开发环境:
git add .
git commit --amend
重新push到主库的个人分支:git push top master:l00517779 -f
注:若已提代码merge,则还要push到个人合代码的分支,这样合并代码会自动同步
然后重新运行下上面的部署。
 
回退提交/丢弃提交:
git reflog
git reset --hard [id] #id为需要丢弃的提交的前一个commit id/ 需要回退到的commit id
 
git rebase -i HEAD~2 合并多个提交
 
已经merge的代码,不要再commit --amend,否则会报本地代码和merge的代码冲突;新commit下
 
git branch -u top/master报分支不存在解决办法:
git remote add top xxxx
git remote -v
git fetch --all
git branch -u top/master
 
取消add:
git status 先看一下add 中的文件 
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
 
 

猜你喜欢

转载自www.cnblogs.com/luckyboylch/p/12327328.html