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
未完待续...