分享

Git常用命令与问题

 印度阿三17 2018-09-26

Git常用命令:

  1. 查看远程分支: git branch –a
  2. 查看本地分支: git branch *表示当前所在分支)
  3. 创建分支    : git branch  namenew
  4. 删除分支    : git branch -d [branch-name]
  5. 切换分支    : git checkout namebranch
  6. git checkout -b  namebranch 新建并切换到本地 namebranch 分支
  7. git pull origin  namebranch 本地分支与远程分支相关联
  8. 显示工作目录和暂存区的状态: git status
  9. 提交文件到本地git代码库: git commit
  10. 代码提交到远程对应分支: git push <远程主机名> <本地分支名>:<远程分支名>
  11. git fetch和git pull的区别

git fetch:相当于是从远程获取最新版本到本地,不会自动合并。

git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master:命令其实相当于git fetch 和 git merge;在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。

Git pull的作用是,从远程库中获取某个分支的更新,再与本地指定的分支进行自动merge。完整格式是:git pull <远程库名> <远程分支名>:<本地分支名> 

  1. git reset #撤回缓存中的代码, 或撤回git commit 命令误将代码提交到本地仓库;
  1. git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
  2. git reset --soft 版本号:回退到某个版本,只回退了commit的信息,不会恢复到index file一级,回退到某个版本,只回退了commit的信息,不会改变已经修改过的代码。如果还要提交,直接commit即可
  3. git reset --hard 版本号:彻底回退到某个版本,本地的源码也会变为上一个版本的内容(这个要特别注意,因为本地代码会修改)

git reset  --hard 版本号(commit id)

git reset --hard 1c388***** 撤回制定版本号(不是最新的那个版本号)

  1. git stash #保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。使用git stash save 'message...'可以添加一些注释
  2. git clean 命令用来从你的工作目录中删除所有没有tracked过的文件.
  3. git diff filename      #比较工作区和暂存区
  4. git log                #查看本地git代码的日志信息:
  5. git show [commit_id]   #查看某次历史提交信息的完整信息

Git提交代码流程:

注:代码编译同并且验证通过后才可提交代码!

Step1: git pull    #作用是:取回远程主机某个分支的更新,再与本地的指定分支合并。

Step2: git status  #查看当前分支的修改状态:

1:Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

2:Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.

3:deleted文件已删除,本地删除,服务器上还没有删除.

4:renamed

Step3: git add file1 file2… #将状态改变的代码提交缓存;注:git add .要慎用,修改那个文件就add那个文件。

Step4: git commit -m “注释部分”#将代码提交到本地库中

Step5: git push #将代码推送到服务器;

格式:git push localbranach: origin remotebranch

Step6:提交后要@审阅代码的人

Git基本概念:

工作区:git clone 或 git init之后,目录下看到看到一个.git隐藏文件夹,这个文件夹就是版本库,目录及其子目录就是工作区,代码修改保存后,在可以直接编译,运行。

暂存区:git add 把文件从工作区被提交到暂存区,但此时文件并没有真正进入到版本库当中,文件目前只处于一个中间状态。

本地版本库:git commit这个命令将处于中间状态的文件(暂存区的文件)提交到本地的版本库中。

远程版本库:git push这个命令将处于本地版本库提交到远程版本库中。

git commit --amend使用:

如果的代码已经提交到远程git库,reviewer审核时候发现代码有点问题,需要修改,通常有2种方法:

方法1:reviewer将你提交的所有代码 abandon,然后你回去 通过git reset …将代码回退到你代码提交之前的版本,然后你修改出问题的代码,然后 git add commit,最后git push

方法2:reviewer不abandon代码,回去之后,可以直接修改出问题的文件,修改好之后,git add 该出问题文件,然后 git commit --amend ,最后git push。这种方式可以比较方便的保持原有的Change-Id,推荐使用。

新建本地分支并拉取远程指定分支:

git checkout –b newbranch origin/remotebranch

注意事项:防止本地其他分支code的干扰,建完新分支后,执行

git status

git reset -hard

git clean -df

切换分支注意事项:

Step1:make clean  #清除make产生的中间文件

Step2:git stash 或者git add、git commit 后再切换

注:没有add,也没有commit,切换分支,修改的内容也会切到另一个分支。

Step3:git status

来源:http://www./content-4-25201.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多