Git

0.安装git

  sudo apt-get install git

1. 配置用户名和邮箱

   zhan052@krk-nas:~> git config --global user.name
   git config --global user.email "hongjian.zhang@nokia-sbell.com"
   git config --global user.name "hzhan052 Hongjian Zhang"
   git config credential.helper store

  hzhan052@krk-nas:~> git config --global user.name 
  git config --global user.name "hzhan052 Hongjian Zhang"
  git commit --amend --reset-author

2.git pull
   git status
   git add <file_name>
   git commit -m "<comments>"
   git push

3.删除远端的文件
  git rm 文件名
  git rm -r 文件夹名
  git commit -m "remove 文件名"
  git commit -m "rm unused files"
  git push origin 分支

4. 放弃修改文件
  git checkout -- <file>

5. 重命名远端文件
$ git mv old_file new_file,

$ git add && git commit && git push 

6.从远端 checkout分支
git checkout -b nanjing_pet_uuf origin/nanjing_pet_uuf
ute@IAV-NJN-CLOUD002TL002-UTE:~/workspace/5G_ASIR_Full_Auto_Pipeline_StepbyStep/testline_configuration_5G/Nanjing/7_21_CLOUD002TL002$ sudo git push
git push --set-upstream origin nanjing_pet_config_5G19A
ute@IAV-NJN-CLOUD002TL002-UTE:~/workspace/5G_ASIR_Full_Auto_Pipeline_StepbyStep/testline_configuration_5G/Nanjing/7_21_CLOUD002TL002$ git push --set-upstream origin nanjing_pet_config_5G19A
sudo git push --set-upstream origin nanjing_pet_5G19A
git -c credential.helper= -c core.quotepath=false -c log.showSignature=false pull --progress --no-stat -v --progress origin nanjing_pet_5G19A
git -c credential.helper= -c core.quotepath=false -c log.showSignature=false push --progress --porcelain origin refs/heads/nanjing_pet_5G19A:nanjing_pet_5G19A
git push origin refs/remotes/origin/master

git pull <remote> <branch>
git branch --set-upstream-to=origin/<branch> Nanjing_5G19B_PET_FOR_3ABILS
ute@IAV-NJN-CLOUD004TL004:~/workspace/5G_ASIR_Full_Auto_Pipeline_StepbyStep_debug_for_3Abils_19B/robotws5g$ git pull origin Nanjing_5G19B_PET_FOR_3ABILS

7: git branch
   1.查看分支: git branch
   2.删除本地分支 git branch -d 分支名字
   3.删除远端分支 git push origin --delete 分支名字
   error: failed to push some refs to ‘git@github.com:xxxxxxxx/xxxxxxxxxx.git’
  解决办法: git checkout xxxxx-fixbug 切换到当前分支上, 然后再 进行 git push –delete origin origin/xxxxx-fixbug
  4.创建分支 :git branch [branchname]
  5.查看全部分支(包含本地和远程) :git branch -a
  6. git checkout -b branchName commitId
  7. git merge
  8. git log --oneline
  9. 创建新分支:git branch branchName
 10. 切换到新分支:git checkout branchName
 11. git checkout -b branchName
 12. git checkout -B <branch>
     那么使用普通的git checkout -b <branch>这个命令,是会报错的,且同名分支无法创建。如果使用-B参数,
      当前分支为master,且仓库中已经存在分支a,我们先用git checkout -b a来创建a分支,必然会失败的,并提示我们仓库中已经有了一个a分支咯,
     仿佛在说“hi,哥们,你已经有了一个老婆了,一夫一妻制你的不懂?你以为这里是印度啊?”。随后,我们使用git checkout -B a,耶~~,it works!
  13. git checkout --orphan <branch>
  14. git checkout --merge <branch>
  15.git checkout -p <branch>
8. 常用命令
    git clone --depth=1 url
    git init
    git diff 查看变更内容
    git add . 跟踪所有修改过的文件
    git rm file
    git rm --cached file 
    git commit -m "message"
    git commit --amend
    git reset --hard HEAD 撤销目录中未提交文件修改的内容
    git checkout HEAD file 撤销指定的未提交文件的修改内容
    git revert <commit> 撤销指定的提交
    git branch
    git checkout <branch/tag> 
    git branch <new-branch> 创建新的分支;
    git branch -d <branch> ?????????
    git tag 列出所有本地标签;
    git tag <tagname> 基于最新提交创建标签
    git tag -d <tagname> 
    git merge branch 
    git rebase branch 
    git remote -v 
    git remote show <remote> 
    git remote add <remote> <url> 
    git fetch <remote> 从远程库获取代码
    git pull <remote> <branch> 下载代码及快速合并
    git push <remote> <branch> 上传代码及快速合并
    git push <remote> <branch/tag-name> 
    git push --tags 上传所有标签

9.automation
    0 9:20:23 > git rev-parse --is-inside-work-tree # timeout=10
    09:20:23 > git config remote.origin.url https://wrgitlab.int.net.nokia.com/5G/robotws5g.git # timeout=10
    09:20:23 Fetching upstream changes from https://wrgitlab.int.net.nokia.com/5G/robotws5g.git
    09:20:23 > git --version # timeout=10
    09:20:23 using GIT_ASKPASS to set credentials
    09:20:23 > git fetch --tags --progress -- https://wrgitlab.int.net.nokia.com/5G/robotws5g.git +refs/heads/*:refs/remotes/origin/*
    09:20:47 > git rev-parse refs/remotes/origin/Nanjing_5G19A_PET_FOR_3ABILS^{commit} # timeout=10
    09:20:47 > git rev-parse refs/remotes/origin/origin/Nanjing_5G19A_PET_FOR_3ABILS^{commit} # timeout=10
    09:20:47 > git config core.sparsecheckout # timeout=10
    09:20:47 > git checkout -f 325a0245d1a3b646a5a3f883de8e81f0a1480c27
    09:20:47 > git branch -a -v --no-abbrev # timeout=10
    09:20:47 > git branch -D Nanjing_5G19A_PET_FOR_3ABILS # timeout=10
    09:20:47 > git checkout -b Nanjing_5G19A_PET_FOR_3ABILS 325a0245d1a3b646a5a3f883de8e81f0a1480c27
    09:20:47 > git rev-list --no-walk 325a0245d1a3b646a5a3f883de8e81f0a1480c27 # timeout=10

10. git diff
    git diff
   git diff --cached
   git diff --staged
   git diff HEAD
   git diff topic master 或 git diff topic..master
   git diff topic...master
   git diff --stat
   git diff test
   git diff HEAD -- ./lib
   git diff HEAD^ HEAD
   git diff SHA1 SHA2

11.从指定的分支上克隆
   git clone -b Nanjing_5G19B_PET_FOR_3ABILS https://wrgitlab.int.net.nokia.com/5G/robotws5g.git

12. git check out
   git checkout .
   git checkout -- filepathname
   git add 文件夹/ 添加整个文件夹及内容
   git add *.文件类型 添加目录中所有此文件类型的文件
   git add <file> 提交单个文件
   git add . // 提交所有发生变化的文件添加到暂存区(增改),不包括删除
   git add -u // 只提交修改的文件和删除添加到暂存区,不包括新文件
   git add -A //所有文件(. && -u 集合) git的版本不同,命令则不一样
   git add --all

13. git remote -v
   ute@IAV-NJN-CLOUD004TL004:~/robotlte/robotws5g/testsuite/UUF/Nanjing$ git remote -v
   origin https://wrgitlab.int.net.nokia.com/5G/robotws5g.git (fetch)
    origin https://wrgitlab.int.net.nokia.com/5G/robotws5g.git (push)

14. git add
     git add . 不小心添加了多余的文件怎么办?
     git reset HEAD 全部撤销最近一次add
     git reset HEAD 目录文件,撤销一个文件


posted @ 2020-06-05 11:11  xiongmengdecrocodile  阅读(754)  评论(0)    收藏  举报