标签:基本命令 ssh tor git push merge 定义 版本控制 form cpp
使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录里都会包含这些信息。使用git config命令进行配置:
git config --global user.name
git config --global user.email
为了得到一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, git://. 有些仓库可以通过不只一种协议来访问。
git clone url
可以对一个已存在的文件夹用下面的命令让它置于Git的版本控制管理之下。
git init
git的基本流程如下:
git branch
命令可以查看当前的分支列表,以及目前的开发环境处在哪个分支上;git checkout 分支名
可以切换到其他分支;# 修改文件file1
$ echo "update" >> file1
# 查看当前状态
$ git status
# 添加并提交file1的修改
$ git add file1
$ git commit -m "update file1"
# 查看file1的内容
$ cat file1
test
update
# 切换到master分支
$ git checkout master
git merge
命令来合并experimental
到主线分支master
:# 切换到master分支
$ git checkout master
# 将experimental分支合并到master
$ git merge -m ‘merge experimental branch‘ experimental
# 切换到master分支
$ git checkout master
# 修改file3文件
$ echo "master: update file3" >> file3
# 提交到master分支
$ git commit -a -m ‘update file3 on master‘
# 切换到experimental分支
$ git checkout experimental
# 修改file3文件
$ echo "experimental: update file3" >> file3
# 提交到experimental分支
$ git commit -a -m ‘update file3 on experimental‘
$ git checkout master
$ git merge experimental
Auto-merging file3
CONFLICT (content): Merge conflict in file3
Automatic merge failed; fix conflicts and then commit the result.
git status
查看状态,会发现file3显示为both modified
,查看file3内容会发现:$ cat file3
test
<<<<<<< HEAD
master: update file3
=======
experimental: update file3
>>>>>>> experimental
git diff
查看,先前已经提到git diff
不加参数可以显示未提交到缓存区中的修改内容。<<<<<<
等符号后,根据需要只保留我们需要的内容后保存,然后使用git add file3
和git commit
命令来提交合并后的file3内容,这个过程是手动解决冲突的流程。# 编辑冲突文件
$ vim file3
# 提交修改后的文件
$ git add file3
$ git commit -m ‘merge file3‘
experimental
时,可以使用下面的命令删除:$ git branch -d experimental
git branch -d
只能删除那些已经被当前分支的合并的分支. 如果你要强制删除某个分支的话就用git branch –D
$ git reset --hard HEAD^
# 查看file3的内容,已经恢复到合并前的master上的文件内容
$ cat file3
git log命令可以显示所有的提交(commit):
$ git log
如果提交的历史纪录很长,回车会逐步显示,输入q
可以退出。
git log
有很多选项,可以使用git help log
查看,例如下面的命令就是找出所有从"v2.5“开始在fs目录下的所有Makefile的修改:
$ git log v2.5.. Makefile fs/
Git会根据git log命令的参数,按时间顺序显示相关的提交(commit)。
如果用--stat选项使用‘git log‘,它会显示在每个提交(commit)中哪些文件被修改了, 这些文件分别添加或删除了多少行内容,这个命令相当于打印详细的提交记录:
$ git log --stat
你可以按你的要求来格式化日志输出。--pretty
参数可以使用若干表现格式,如oneline
:
$ git log --pretty=oneline
或者你也可以使用 short
格式:
$ git log --pretty=short
你也可用medium
,full
,fuller
,email
或raw
。 如果这些格式不完全符合你的需求, 你也可以用--pretty=format
参数定义格式。
--graph
选项可以可视化你的提交图(commit graph),会用ASCII字符来画出一个很漂亮的提交历史(commit history)线:
$ git log --graph --pretty=oneline
日志记录可以按不同的顺序来显示。如果你要指定一个特定的顺序,可以为git log
命令添加顺序参数。
按默认情况,提交会按逆时间顺序显示,可以指定--topo-order
参数,让提交按拓扑顺序来显示(就是子提交在它们的父提交前显示):
$ git log --pretty=format:‘%h : %s‘ --topo-order --graph
几个基本命令:
标签:基本命令 ssh tor git push merge 定义 版本控制 form cpp
原文地址:http://www.cnblogs.com/ywx772/p/7857347.html