git 常用指令

 

保险的拉取代码的方式:

(1) 然后防止别人的代码与你的代码修改的部分有冲突,然后进行覆盖你本地的代码、你可以这个时候执行git stash 作用:将本地更改的代码存放git栈中。

(2) 这个时候再去执行git pull,会将代码拉取下来包括出现冲突的Code。    

(3) 这个时候执行 git status 查看一下你的代码

(4) 然后将自己存在git栈中的代码取出:git stash pop/apply (pop和apply的区别自行搜索下) 这个时候会把存在栈中的代码合并到本地、有可能会出现冲突的代码。这个时候解决冲突代码

(5) 然后git commit -a -m '备注'

(6) 然后git push
1. git clone

   (1) 默认在当前目录下创建和版本库名相同的文件夹并下载版本到该文件夹下: git clone 远程仓库的网址

   (2) 指定本地仓库的目录: git clone 远程仓库的网址 本地目录

   (3) -b 指定要克隆的分支,默认是master分支: git clone 远程仓库的网址 -b 分支名称 本地目录
2. git checkout

   (1) 切换到已存在的指定分支: git checkout 分支名称

   (2) 创建并切换到指定的分支、保留所有提交记录:git checkout -b 分支名称

   (3) 创建并切换到指定的分支、删除所有的提交记录:git checkout --orphan 分支名称

   (4) 替换掉本地的改动、新增的文件和已经添加到暂存区的内容不受影响:git checkout 文件路径
3. git branch 

   (1) 列出本地的所有分支、当前所有的分支会以 * 标出: git branch 

   (2) 列出本地的所有分支并显示最后一次提交、当前所在分支以 * 标出: git branch -v

   (3) 创建新分支、新的分支基于上一次提交建立: git branch 分支名

   (4) 修改分支名称:git branch -m [原分支名称] 新的分支名称

   (5) 强制修改分支名称:git branch -M [原分支名称] 新的分支名称

   (6) 删除指定的本地分支:git branch -d 分支名称

   (7) 强制删除指定的本地分支:git branch -D 分支名称

        
 4.  git status

   (1) 查看本地仓库的状态:git status

   (2) 以简短模式查看本地仓库的状态,

       以简短模式查看本地仓库的状态显示两列,

       第一列是文件的状态,

       第二列是对应的文件 文件状态:A 新增,M 修改,D 删除,?? 未添加到Git中

       指令:git status -s
5. git remote

   (1) 列出已经存在的远程仓库: git remote

   (2) 列出远程仓库的详细信息: git remote -v

   (3) 在别名后面列出URL地址: git remote --verbose

   (4) 添加远程仓库:git remote add 远程仓库别名 远程仓库url地址

   (5) 修改远程仓库别名:git remote rename 原远程仓库别名 新的别名

   (6) 删除指定名称的远程仓库:git remote remove 远程仓库的别名

   (7) 修改远程仓库的URL地址: git remote set-url 远程仓库的别名 新的远程仓库URL地址
6. git cherry-pick

   (1) 把已经提交的记录合并到当前分支: git cherry-pick <commit ID>
7. git add

   (1) 把指定的文件添加到暂存区中: git add 文件路径

   (2) 把所有的文件添加到暂存区中:git add .

   (3) 添加所有修改、已删除的文件到暂存区中

        git add -u [文件路径]

        git add -update [文件路径]

   (4)  添加所有修改、已删除、新增的文件到暂存区中,省略 <文件路径> 即为当前目录

        git add -A [文件路径]

        git add -all [文件路径]

   (5) 查看所有修改、已删除但没有提交的文件,进入一个子命令系统

        git add -i [文件路径]

        git add --interactive [文件路径]
8. git commit

   (1) 把所有修改、已删除的文件提交到本地仓库中: git commit -a -m "备注信息且不能为空"

   (2) 把暂存区中的文件提交到本地仓库中并添加描述信息: git commit -m "备注信息"

   (3) 修改上次提交的描述信息: git commit --amend
9. git fetch

   (1) 将远程仓库所有分支的最新版本全部取回到本地: git fetch 远程仓库的别名

   (2) 将远程仓库指定分支的最新版本取回到本地: git fetch 远程主机名 分支名
10. git merge

   (1) 把指定的分支合并到当前所在的分支下: git merge 分支名称
11. git diff

   (1) 比较当前文件和暂存区中文件的差异,显示没有暂存起来的更改:git diff

   (2) 比较暂存区中的文件和上次提交时的差异

       git diff --cached

       git diff --staged

   (3) 比较当前文件和上次提交时的差异:git diff HEAD

   (4) 查看从指定的版本之后改动的内容:git diff commit ID

   (5) 比较两个分支之间的差异: git diff 分支名称 分支名称

   (6) 查看两个分支分开后各自的改动内容: git diff 分支名称...分支名称
12. git pull

   注意:从远程仓库获取最新版本并合并到本地。首先会执行 git fetch,然后执行 git merge,把获取的分支的 HEAD 合并到当前分支。

   (1) 从远程仓库获取最新版本: git pull
13. git push

   (1) 把本地仓库的分支推送到远程仓库的指定分支: git push 远程仓库的别名 本地分支名:远程分支名

   (2) 删除指定的远程仓库的分支:

       git push 远程仓库的别名:远程分支名

       git push 远程仓库的别名 --delete 远程分支名
14. git log

    (1) 打印所有的提交记录: git log 

    (2) 打印从第一次提交到指定的提交的记录:git log commit ID

    (3) 打印指定数量的最新提交的记录:git log -指定的数量
15. git reset

    注释: 重置暂存区,但文件不受影响,相当于将 "git add" 命令更新到暂存区的内容撤出暂存区,可以指定文件。没有指定 commit ID 则默认为当前 HEAD

    (1) git reset [文件路径]

    (2) git rest --mixed [文件路径]

    (3) HEAD 的指向改变,撤销到指定的提交记录,文件未修改: git reset commit ID

    (4) git reset --mixed commit ID

    (5) 将 HEAD 的指向改变,撤销到指定的提交记录,文件也修改了: git reset --hard commit ID
16. git stash

    (1) git stash list [<options>] 

    (2) git stash show [<options>] [<stash>] 

    (3) git stash drop [-q|--quiet] [<stash>] 

    (4) git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>] 

    (5) git stash branch <branchname> [<stash>] 

    (6) git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [-m|--message <message>] [--] [<pathspec>…]] 

    (7) git stash clear 

    (8) git stash create [<message>] 

    (9) git stash store [-m|--message <message>] [-q|--quiet] <commit>

    

    详解:

    (1) git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,
让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

    (2) git stash save 'message':备份工作区内容,同时添加备注信息

    (3) git stash apply: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。
但是不会将该stash记录删除

    (4) git stash drop: 把最近的一条stash记录删除

    (5) git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。
由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复,
同时会删除这条stash记录,相当于git stash          apply和git stash drop一起执行了

    (6) git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复

    (7) git stash clear: 清空Git栈,原来存储的所以stash的节点都消失了

         


内容有部分是从网上资料整理来

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值