Git常见命令集合

发布时间:2019-10-15 18:31:38 浏览量:1016 标签: git

1、配置信息(初次运行 Git 前的配置)

git config --global user.name "John Doe"

git config --global user.email johndoe@example.com

1571135400869041.jpg

存储位置:~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。


2、文本编辑器

git config --global core.editor emacs


3、差异分析工具(在解决合并冲突时使用哪种差异分析工具)

git config --global merge.tool vimdiff


4、查看配置信息(有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。)

git config --list


5、查阅某个环境变量的设定

git config user.name


6、获取帮助

git help <verb>


示例:要学习 config 命令可以怎么用,运行:git help config



7、在工作目录中初始化新仓库

git init


8、在工作目录中初始化新仓库,如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:

git add *.c

git add README

git commit -m 'initial project version'


9、从现有仓库克隆

git clone git://github.com/schacon/grit.git


10、如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

git clone git://github.com/schacon/grit.git mygrit


11、检查当前文件状态

git status


12、跟踪新文件(单个文件),例如:README 文件

git add README


13、暂存已修改文件,例如:README 文件。 git add 命令(这是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等)

git add README


14、忽略某些文件

创建一个名为 .gitignore 的文件,列出要忽略的文件模式。来看一个实际的例子:

cat .gitignore

*.[oa]

*~


第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。

文件 .gitignore 的格式规范如下:

所有空行或者以注释符号 # 开头的行都会被 Git 忽略。

可以使用标准的 glob 模式匹配。

匹配模式最后跟反斜杠(/)说明要忽略的是目录。

要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)


15、.gitignore 文件的例子


# 此为注释 – 将被 Git 忽略

# 忽略所有 .a 结尾的文件

*.a

# 但 lib.a 除外

!lib.a

# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

/TODO

# 忽略 build/ 目录下的所有文件

build/

# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

doc/*.txt

# 忽略 doc/ 目录下所有扩展名为 txt 的文件

doc/**/*.txt


16、查看已暂存和未暂存的更新

git diff


17、看已经暂存起来的文件和上次提交时的快照之间的差异

git diff --cached


18、提交更新

git commit

另外也可以用 -m 参数后跟提交说明的方式

git commit -m "Story 182: Fix benchmarks for speed"


19、跳过使用暂存区域(Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤)

git commit -a -m 'added new benchmarks'


20、移除文件

rm 【文件】

git rm 【文件】


21、移动文件

git mv file_from file_to


22、查看提交历史

git log

git log -p -2     常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新


23、修改最后一次提交

git commit --amend


24、取消已经暂存的文件

git reset HEAD <file>


25、取消对文件的修改(这条命令有些危险)

git checkout -- benchmarks.rb


26、查看当前的远程库

git remote

git remote -v 显示对应的克隆地址


27、添加远程仓库

git remote add [shortname] [url]:


28、从远程仓库抓取数据

git fetch [remote-name]


29、推送数据到远程仓库

git push origin master


30、查看远程仓库信息

git remote show [remote-name]


31、远程仓库的删除和重命名

git remote rename name newName


32、列显已有的标签

git tag


33、新建标签

git tag -a v1.4 -m 'my version 1.4'


34、签署标签

git tag -s v1.5 -m 'my signed 1.5 tag'


35、轻量级标签

git tag v1.4-lw


36、验证标签

git tag -v v1.4.2.1


37、后期加注标签

git log --pretty=oneline


38、分享标签

git push origin v1.5


39、标签到远端仓库。其命令格式如同推送分支

git push origin [tagname]

要一次推送所有本地新增的标签上去

git push origin --tags


40、创建一个新的分支

git branch name


41、切换分支

git checkout name


42、分支的新建与切换

(1)新建并切换至此分支

git checkout -b iss53

(2)切换分支

git checkout master

43、合并分支

git merge name


44、删除分支

git branch -d name


45、遇到冲突时的分支合并

可使用git status 查看冲突,需手动解决冲突文件,并进行git add 更新操作,然后使用git commit -m ''


46、查看分支(* 表示当前分支)

git branch


47、查看各个分支最后一个提交对象的信息

git branch -v


48、获取当前分支的直接上游分支

git branch --merged


49、查看还未合并进来的分支

git branch --no-merged


50、删除远程分支

git push [远程名] :[分支名]

git push origin :serverfix



评论
登录后才可以进行评论哦! QQ登录
验证码
评论内容