开发工作中常用的git指令,正在更新至2021年3月4日....

2019年4月26日


1、git init  :  Create an empty Git repository or reinitialize an existing one

2、git add .  : Add file contents to the index

3、git commit -m '**' 

   git commit -a '**'     The command git commit -a first looks at your working tree, notices that you have modified hello.c and removed goodbye.c, and performs necessary git add and git rm for you.

   git commmit --amend  Replace the tip of the current branch by creating a new commit. The recorded tree is prepared as usual (including the effect of the -i and -o options and explicit pathspec), and the message from the original commit is used as the starting point, instead of an empty message, when no other message is specified from the command line via options such as -m, -F, -c, etc. The new commit has the same parents and author as the current one (the --reset-author option can countermand this).

   git commit -am '**'

4、git clone URL :拷贝git仓库到本地

5、git status [-s] [-v] : Show the working tree status

6、git checkout branchName :切换分支

7、git diff [--cached]

    git diff :默认查看当前修改并且没有add 的内容

    git diff --cached :查看已经add 并且没有commit 的内容

    git diff HEAD :是上面查看上面两种条件的并集

    git diff versinnum1 versinnum2 :比较两个版本号码文件的修改差异。

8、git rm :移除文件

9、git mv [file1Name] [file2Name] :重命名文件

10、git log [-p] [-2]    :Show commit logs

11、git reset HEAD file    :Reset current HEAD to the specified state

12、git checkout -- file :Switch branches or restore working tree files

13、git remote [-v] :Manage set of tracked repositories(管理跟踪的仓库)

14、git remote add [shortname] [url] :Adds a remote named <name> for the repository at <url>. The command git fetch <name> can then be used to create and update remote-tracking branches <name>/<branch>.

15、git fetch [shortname] :Download objects and refs from another repository

16、git push [remote-name] [branch-name] : 

17、git remote show [remote-name] :

18、git remote rename [oldname] [newname]

    git branch -m [old_local_branch_name] [new_local_branch_name]  重命名远程分支对应的本地分支    

19、git branch :查看本地创建的所有分支

    [branchname]:新建新分支 

    -d testBranchName  :删除分支(不是当前所处分支)
    
    -D branchname :强制删除分支(当前所处分支)

    -b branchname :新建并切换到该分支
    
    --merged :查看哪些分支已被并入当前分支
    
    --no-merged :查看尚未合并的工作分支

    -a:查看分支

20、git pull --rebase  :推送之前要拉取内容,减少冲突

21、git config --list : List all variables set in config file, along with their values.

22、git reflog show --date=iso [branchname]:查看当前分支创建的时间

23、git reset HEAD [file]:撤销 add 的文件

24、git reset --hard 52b376e2a13f4faf87f24d504d4b46e8f118aaf6  : 分支回退到某个版本号的commit

25、git push origin --delete Chapater6  : 可以删除远程分支Chapater6   

    git push origin :gongg-dev2-5.11.1  :Push "matching" branches to origin. See <refspec> in the OPTIONS section above for a description of "matching" branches.

26、git fetch :取回所有分支的更新。

    git fetch <远程主机名> <分支名>:取回origin主机的master分支。    

27、git push origin :bug-mmb-5.12.2-issue-47419 :删除本地分支后,再删除远程的分支

28、git branch -vv : 新建新分支 

29、git commit --amend:修改commit描述

30、git help + [command]:查看命令的help文档

31、git reflog show --date=iso <branch name> :查看分支的所有commit提交历史
        eg:git reflog show --date=iso feature-mmb-6.5.0-46738

32、git config --global user.name username:配置用户名:username

33、git config --global user.email user@email:配置邮箱:user@email

34、git stash list:查看所有之前保存至堆栈区的修改内容

35、git stash apply stash@{0} :将栈顶的修改内容弹出

36、git stash apply stash@{0} :将栈顶的修改内容弹出

37、git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

38、git reset --hard <commit> :用git reflog则可以看到被删除的commitid,我们就可以买后悔药,恢复到被删除的那个版本。

39、git log 命令可以显示所有提交过的版本信息,
        加上参数 :--pretty=oneline,只会显示版本号和提交时的备注信息。

40、git remote 要查看当前配置有哪些远程仓库

41、git diff branch1 branch2 -- file 比较两个版本号码文件的修改差异。 eg:git diff gongg-dev2-6.9.0 master --  GroupProviderImpl.java

42、git rm --cached xxx 只把特定文件从暂存区删除

43、git rm -r --cached xxx 只把特定文件夹的所有文件从暂存区删除


44、git reset --soft HEAD^1 HEAD^的意思是上一个版本,也可以写成HEAD~1
                            如果你进行了2次commit,想都撤回,可以使用HEAD~2

45、git stash clear  :注意这是清空你所有的内容

46、git stash drop stash@{0} :这是删除第一个堆栈元素

47、git fsck 运行一些仓库的一致性检查, 如果有任何问题就会报告. 
这项操作也有点耗时, 通常报的警告就是“悬空对象"(dangling objects).$ git fsck
dangling commit 7281251ddd2a61e38657c827739c57015671a6b3......
“悬空对象"(dangling objects)并不是问题, 最坏的情况只是它们多占了一些磁盘空间. 
有时候它们是找回丢失的工作的最后一丝希望.

48、git log --author="pengyu.huang" --since="2019-01-01" --no-merges | grep -e 'commit [a-zA-Z0-9]*' | wc -l
查看自己的提交数

49、git push origin --delete master-63072 : 删除远程分支

50、git branch -m oldName  newName : 本地分支重命名

51、git cherry-pick b0f05bda9cd38bb5fb45ce41c9a0cb8b0fdcc3bd :cherry pick 合并某个分支提交代码

52、git show commitId:8add6880aa541a5966a53fd790a374e190d466d3

53、git show commitId fileName:查看某次commit中具体某个文件的修改:

54、查看远程分支列表:git branch -r 
查看远程分支列表(匹配关键字):git branch -r |grep gongg-dev2-7.4.0

55、删除远程分支:git push origin --delete gongg-dev2-7.5.0

56、分支管理习惯:要及时删除无用分支。

57、分支commit-message查看:
$ git log <last tag> HEAD --pretty=format:%s
git log  HEAD --pretty=format:%s
$ git log <last release> HEAD --grep feature
git log  HEAD --grep test --pretty=format:%s

58、git 用户信息

git config --list

git config --global user.email

git config --global user.name

59、创建并切换分支
$ git checkout -b 7.11.0-smartcard
Switched to a new branch '7.11.0-smartcard'

60、合并多个commit为一个commit

git rebase -i [commit_id],这里的commit_id是待合并的多个commit之前的那个commit ID。

61、重命名分支
git branch -m oldName  newName

62、回滚代码到某个commit,并且提交到远程仓库
回退到指定commit:16b132e2757a4f8ce6f9d93922ae95ac9eed29a8
git reset --hard 16b132e2757a4f8ce6f9d93922ae95ac9eed29a8
git push origin 7.12.0 --force

63、添加远程仓库并提交代码
git remote -v:查看远程仓库信息(没有则添加仓库路径)
git remote add origin https://github.com/scaummb/springcloud-gateway.git

未完待续...

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值