美文网首页
常用的git 命令、git命令行

常用的git 命令、git命令行

作者: jasondevios | 来源:发表于2019-03-26 16:47 被阅读0次

1.拉取代码

1.1 拉取当前默认分支的代码: git pull.

1.2 拉取某个远程分支(master)的代码到当前分支: git pull origin master.

2.推送代码

2.1 推送当前默认分支的代码: git push.

1.2 推送当前的代码到master分支: git push origin master.

3.分支

3.1 查看本地所有分支以及查看当前所在分支:git branch 

3.2 查看所有远程分支:git branch -a

3.3 创建本地分支 :git checkout -b  newBranch

3.4 拉取远程分支并创建本地分支:git checkout -b  localBranch  origin/remoteBranch (localBranch本地分支名称、remoteBranch远程分支名称,建议保持一致,该命令行会自动创建一个本地的分支并关联远程对应的分支)。

3.5 删除本地分支 :git branch -d  localBranch

3.6 删除远程分支 :git push origin --delete developer (sourceTree会默认创建一个refs分支,删除命令行为: git push origin -d refs/heads/refs/heads/Swan)

3.7 切换到master分支 :git checkout master

3 .8 合并master分支代码到developer的分支:git merge master(记住需要先将分支切换到developer分支 :git checkout developer).

3.9 合并master分支某一次提交到dev的分支:git cherry-pick  commitId (master分支某一次提交的id)

3.10 在现有分支与指定的远程分支之间建立追踪:git branch --set-upstream[branch][remote-branch]

4.文件修改

4.1 查看当前仓库的所有变动(和上一次的提交比较):git status  git branch --set-upstream[branch][remote-branch]

4.2 查看当前仓库的所有改动细节 : git diff

4.3 添加当前的某一个文件的修改到缓存 : git add fileName (添加所有修改 git add .).

4.4 提交当前的修改到缓存 :git commit -m  '本次修改的信息'

4.5 推送:git push 到远程分支。

4.6 放弃本地的某个文件的修改:

        4.6.1 还未提交到缓存(未执行git add): git checkout -- fileName (需要先到fileName所在目录下执行才会有效),如果想要放弃所有的更改 执行 : git checkout .     即可。

       4.6.2 如果已经执行了 git add  和 git commit ,但是还没有执行 git push:git reset HEAD  fileName (需要先到fileName所在目录下执行才会有效),这个只是从缓存取出来,并没有直接放弃,通过git status还是能够看到 要撤底放弃需要执行: git checkout -- fileName。

4.7 版本回退 :

        4.7.1 回退本地仓库的代码reset:

            回退到上一次的提交 :git reset --hard HEAD^   

            回退到上两次的提交:  git reset --hard HEAD^^  或者是 git reset --hard HEAD~2

            回退到某一次提交:git reset --hard commit (某一次提交的id)

       4.7.2 回退本地仓库的代码revert:

           放弃某一次的提交:git revert CommitId 

            说明: 该操做会重新生成一个新的commitId,但是会保留之前和之后的代码提交 ,比如 :commitId1 ,commitId2,commitId3,commitId4 如果执行了  git revert commitId2,那么代码中会丢弃commitId2的所有修改,保留1,3,4的修改,同时当前最新的HEAD指向的是一个新的修改 commitId5.

总结:reset和revert的区别:revert会产生一次新的提交,并且会保留之前和之后的提交,但是reset是直接重置到某一次的提交,直接回放弃之后的提交。    

4.7.3 回退远程仓库的代码:

            执行了4.7.3.1 先回滚本地代码,在使用 git push -f 强制推送到远程仓库即可。注意:该操作是不可逆操作,会导致重置之后的代码修改会全部丢失,并且没有提交记录,谨慎使用,除非你非常的确定确实是不需要的。如果是执行4.7.3.2 直接git push到远程仓库即可,改修改是可逆的,可以回退。

5.查看git的历史记录

5.1 查看所有的提交的记录 : git log  或者是 git reflog

5.2 查看某次提交的修改:  git show commitId

5.3 查看某一个文件的修改记录 (cd到该文件的目录下执行):   

       5.3.1 查看filename相关的 commit记录 : git log filename:

       5.3.2 查看filename每次提交的修改 :  git log -p filename

       5.3.3  查看某次提交 filename修改 : git show commitId  filename

6 git仓库的配置

6.1 克隆代码 :git  clone   http://xxxxx

6.2 初始化仓库 :git init 

6.3 显示当前仓库的配置 :git config --list

6.4 修改当前仓库的配置 :git config -e

6.5  设置仓库的用户名和邮箱 :git config [--global] user.name"[name]" 和 git config[--global] user.email "[email address]"

7 设置tag

7.1 查看所有的tag : git tag -l 或者是 git tag list

7.2 设置tag :git tag 1.0.0

7.3 设置tag并注释 :git tag -a '1.0.0' -m '这个是tag的注释'

7.4 删除tag :    删除本地:git tag -d 1.0.0 删除远程tag : git push origin :refs/tags/1.0.0

8.回退到某一个tag

8.1 .git checkout -b   masterHotFix  tag

9.强制合并本地的某个分支

例如 将devRelease强制合并dev分支,让devRelease丢弃自己的更改保持和dev一致

git checkout devRelease//将当前分支切换到主分支

git reset --hard dev //将主分支重置为test分支

git push origin master -force//将重置后的master分支强制推送到远程仓库

10.删除git所有的提交记录


1.Checkout

``` 

git checkout --orphan latest_branch

``` 

2. Add all the files

``` 

  git add -A

``` 

3. Commit the changes

``` 

git commit -am"commit message"

``` 

4. Delete the branch

``` 

  git branch -D master

``` 

5.Rename the current branch to master

``` 

  git branch -m master

``` 

6.Finally, force update your repository

``` 

git push-forigin master

``` 

相关文章

网友评论

      本文标题:常用的git 命令、git命令行

      本文链接:https://www.haomeiwen.com/subject/gwrnpqtx.html