Git命令的一些总结2

By | 2019-10-24

前言

记录一些工作中常用的git命令,以便经后查阅

Git命令的一些总结1
Git命令的一些总结2

将所有代码和.repo目录都删掉后要重新下载代码的操作

  1. 重新生成.repo目录 repo init -u git@ip:manifest
  2. 同步代码 repo sync
  3. 在所有git库都新开一个master分支 repo forall -c “git checkout -b master”

下载最新代码

  1. git pull origin master 或者用2、3
  2. git fetch origin master   下载
  3. git merge origin/master   合并到当前分支上

切换分支遇到错误
Your local changes to the following files would be overwritten by checkout

  1. git reset –hard  //用代码库中的文件完全覆盖本地工作版本,reset是针对版本的
  2. git pull
  3. git checkout master

版本回退和切换分支

  1. git log  //查看某个分支的commitid
  2. git branch  //查看目前处于哪个branch
  3. git branch branch_name commitid  //根据commitid创建分支branch_name
  4. git checkout branch_name  //切换到新建的分支

放弃本地修改的代码

  1. repo forall -c “git reset –hard”
  2. repo forall -c “git pull origin master”
  3. repo forall -c “git checkout master”

切换代码分支
例如代码库上面新开了一个HOSTING分支,大家可以根据如下方法更新到HOSTING分支:

1、 全新下载方法:

repo init -u git@ip:manifest -m HOSTING.xml
repo sync

2、 在原有代码基础上更新成HOSTING分支的方法 :

repo forall -c “git fetch –all && git reset –hard origin/HOSTING”

对HOSTING代码的修改提交时要注意提交的HOSTING分支上,操作方法:

git push origin HEAD:HOSTING

一般在进行HOSTING代码修改前请先执行下面命令,使当前分支跟踪远程HOSTING分支:
git reset --hard origin/HOSTING   // 注意观察本地分支的哈希数和哪个远程分支一样,然后就可以正常进行修改提交和pull操作了

对于要提交到主分支和HOSTING分支的代码提交建议按如下操作:

1、 新建两个本地分支master、HOSTING

新建并跟踪主分支:
git checkout -b master remotes/origin/master
新建HOSTING跟踪分支:
git checkout -b HOSTING remotes/origin/HOSTING

2、 在master修改提交后记住commit-id

3、 切换到HOSTING分支后使用cherry-pick命令
git cherry-pick commit-id (master分支上的提交id号)

这样在master分支上对应提交被拷贝到了当前分支,然后就可以进行push操作了

克隆一个特定的远程分支

  1. git init
  2. git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE
  3. git checkout BRANCH_NAME_HERE

以某个远程branch最新的一个snapshot为基础创建一个新的branch

git checkout -b newbranch origin/remote_branch

从远程拉取dev分支到本地,并切换到dev分支

git checkout –track origin/dev

修改提交代码流程:

1、 检查当前分支与跟踪分支

git branch -a -v

2、 如果本地没有建master分支,则新建

git checkout -b master remotes/origin/master
如果已有master本地分支但是没有跟踪远程的master分支,则跟踪
git reset –hard origin/master

3、 更新最新代码

git fetch –all
git merge origin/master

4、 修改代码并提交

  1. 修改代码文件…
  2. git status
  3. git add file(添加修改的文件)/git add -u .(暂存当前的路径)
  4. git diff
  5. git commit -m “Description… ”
  6. git push origin HEAD:master

发表评论

邮箱地址不会被公开。 必填项已用*标注