Git常用指令,开发过程中不断更新

1.放弃本地修改

  • 未使用 git add 缓存代码时。

可以使用 git checkout -- filepathname (比如: git checkout -- readme.md  ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout .  命令。

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

  • 已经使用了  git add 缓存了代码。

可以使用  git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。

此命令用来清除 git  对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。

  • 已经用 git commit  提交了代码。

可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard  commitid 

2.下载代码

git clone http://118.24.231.166/git/git/bs/bs-vue.git
cnpm install
cnpm run dev

3.切换分支

  • 查看远程分支
git branch -a

  • 查看本地分支
git branch

  • 切换分支
git checkout -b hotfix origin/hotfix

4.提交代码

第一步:git add .

第二部:执行git cz或者git commit -m”提交内容的说明”

第三步:git pull --rebase(必须加rebase不然别人的代码会被覆盖)

第三步:git push

5.解决冲突

解决冲突后

git rebase --continue
git push

6.新建本地分支并与远程建立连接

基础:master-->dev--->feature/product

//查看远程分支
git branch -a
//创建本地dev分支
git checkout -b dev
//建立远程dev分支连接
git branch --set-upstream-to=origin/dev dev
//拉取代码
git pull --rebase
//创建本地feature/product分支
git checkout -b feature/product
//建立远程feature/product分支连接
git branch --set-upstream-to=origin/feature/product feature/product
//拉取代码
git pull --rebase
//如果出现冲突,解决冲突后,重定基址
git rebase --continue
//如果需要提交
git push

7.git add.时报错解决The file will have its original line endings in your working directory

//删除缓存
git rm -r -f --cached ./
//提交所有
git add .
//推入文件
git push -u origin master

8.删除文件后需要 git add -A, 光 git add. 不行 

git add -A 保存所有的修改 
git add . 保存新的添加和修改,但是不包括删除 
git add -u 保存修改和删除,但是不包括新建文件。

9.git 切换远程分支

git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:

​
1. 找一个干净目录,假设是git_work
2. cd git_work
3. git clone http://myrepo.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录
4. cd project
5. git branch -a,列出所有分支名称如下:
remotes/origin/dev
remotes/origin/release
6. git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
7. git checkout -b release origin/release,作用参见上一步解释
8. git checkout dev,切换回dev分支,并开始开发。

​

10.git代码管理 放弃本地修改强制更新

git fetch --all
git reset --hard origin/master
git fetch 下载远程的库的内容,但是并未做任何代码合并的合并动作

git reset拉取远程master分支上的代码,

若是拉取其他版本代码,只需把master改为相对应的版本即可

11.解决IDEA configure Ignore没有生效

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

12.删除远程仓库中文件

git rm --cached.txt 删除文件
git rm -r .idea 删除文件夹

git commit -m 'delete .idea'
git push origin master

13.基于dev创建新的分支
 

//查看分支
git branch -a
//创建本地新分支
git branch dev-worldcheck
//查看分支
git branch -a
//检查一下仓库名称
git remote
//本地分支推上去,远程会自动生成同名新分支
git push origin dev-worldcheck
//将当前分支与远程某分支关联
git branch --set-upstream-to=origin/dev-worldcheck
//查看关联关系
git branch -vv
//推送代码
git add .
git commit -m 'your commit info'
git push origin dev-worldcheck

14.开发分支(dev-worldcheck)上的代码达到上线的标准后,要合并到 dev 分支  

1.提交dev-worldcheck分支的代码
git add .
git commit -m"提交代码"
git pull --rebase
git push

1.切换分支到主分支
git checkout dev

2.拉取最新代码
git pull --rebase

3.合并dev-worldcheck分支到dev分支
git merge dev-worldcheck

4.推送代码(不要再拉代码了)
git push -u origin dev

15.当master代码改动了,需要更新开发分支(dev)上的代码

git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev

16.(no branch, rebasing dev)

出现这样的问题不要慌,先看看git add . 后本地的记录,需要恢复一下代码


git checkout -b mydev
git pull origin dev
git push -u origin dev

17.git push后远程代码未更新

On branch mydev
You are currently rebasing branch 'dev' on '9efa120'.

原因是不在dev分支上,自己新创建了一个mydev分支

git checkout dev
git merge mydev
git push -u origin dev

18.IDEA Git 合并分支的部分提交到主干

在开发过程中不同需求迭代上线时我们需要在不同分支上开发。当某个分子的部分功能需要临时上线时,我们就要合并分支的部分代码带主干,这种情况应该如何实现呢?

我们需要用到Git的Cherry-pick功能

IDEA中使用Git的Cherry-pick功能合并分支的部分提交到主干

先将代码切换到主干-》右击项目-》Git-》Repository-》Merge Changes-》选择No commit-》Merge

右击项目-》git-》Show History-》在任意一个提交历史上右击-》Select in Git Log-》右击要合并的提交-》Cherry-Pick-》提交

以上操作就是合并分支部分代码到主干的过程。
 

19.Cherry-pick

  1. git cherry-pick <commit id>:单独合并一个提交
    
    git cherry-pick -x <commit id>:同上,不同点:保留原提交者信息。
    
    git cherry-pick <start-commit-id>..<end-commit-id>
    
    git cherry-pick <start-commit-id>^..<end-commit-id>

20.删除本地分支

1 先切换到别的分支: git checkout release

2 删除本地分支: git branch -d dev

3 如果删除不了可以强制删除,git branch -D dev

21.git branch -a无法获取到所有的远程分支信息

git fetch origin

git branch -a
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值