配置使用
-
使用 Git 来获取 Git 的更新:
$ git clone git://git.kernel.org/pub/scm/git/git.git
-
可以通过以下命令查看所有的配置以及它们所在的文件:
$ git config --list --show-origin
用户信息
查看用户名和邮箱地址:
$ git config user.name
$ git config user.email
修改用户名和邮箱地址
$ git config --global user.name "xxxx"
$ git config --global user.email "xxxx"
获取帮助
若你使用 Git 时需要获取帮助,有三种等价的方法可以找到 Git 命令的综合手册
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
本地操作
上传操作
新建本地仓库
$ git init
添加到暂存区
$ git add [file.name]
将代码提交到仓库
$ git commit -m "[message]"
查看状态
$ git status
查看修改了什么内容
$ git diff [file.name]
$ git diff HEAD -- [file.name]
-
差异比较说明
---
:表示变动前的文件+++
:表示变动后的文件变动的位置用两个
@
作为起手和结束@@ -1 ,2 +1,3 @@
:减号表示第一个文件,"1"表示第一行,"2"表示连续两行,同样的,"+1,3"表示变动后成为第二个文件从第1行开始连续3行。
重命名
$ git mv file_from file_to
撤消操作
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有--amend
选项的提交命令来重新提交:
$ git commit --amend
从暂存区退回命令
git reset HEAD
版本回退
查看日志
$ git log (-5 --pretty=oneline)
回退到上一个版本
$ git reset --hard HEAD^
回退到上两个版本
$ git reset --hard HEAD^^
$ git reset --hard HEAD~1
回退后再返回
$ git reset --hard [版本号前5位左右]
显示全部操作记录,根据版本号重新指向
$ git reflog
文件删除
文件删除后在git中恢复
$ git checkout -- [file.name]
文件直接删除
$ git rm [file.name]
本地仓库查看
$ git ls-file
git 分支操作
可以在主干上开辟新的分支,在新分支上进行开发,然后合并到主干上去
查看所有分支
$ git branch
新建分支
$ git branch -b [branch.name]
切换分支
$ git checkout [branch.name]
合并分支,必须在主干合并分支
$ git merge [branch.name]
删除分支
$ git branch -d [branch.name]
重命名
$ git branch -m|-M [oldbranch,name] [newbranch.name]
Chapter 2
远程操作
查看远程仓库
如果想查看你已经配置的远程仓库服务器,可以运行git remote
命令。 它会列出你指定的每一个远程服务器的简写。 如果你已经克隆了自己的仓库,那么至少应该能看到 origin ——这是 Git 给你克隆的仓库服务器的默认名字
如果你的远程仓库不止一个,该命令会将它们全部列出。 例如,与几个协作者合作的,拥有多个远程仓库的仓库看起来像下面这样:
$ cd grit
$ git remote -v
bakkdoor https://github.com/bakkdoor/grit (fetch)
bakkdoor https://github.com/bakkdoor/grit (push)
cho45 https://github.com/cho45/grit (fetch)
cho45 https://github.com/cho45/grit (push)
defunkt https://github.com/defunkt/grit (fetch)
defunkt https://github.com/defunkt/grit (push)
koke git://github.com/koke/grit.git (fetch)
koke git://github.com/koke/grit.git (push)
origin git@github.com:mojombo/grit.git (fetch)
origin git@github.com:mojombo/grit.git (push)
添加远程仓库
我们在之前的章节中已经提到并展示了 git clone 命令是如何自行添加远程仓库的, 不过这里将告诉你如何自己来添加它。 运行 git remote add <shortname> <url>
添加一个新的远程 Git 仓库,同时指定一个方便使用的简写:
$ git remote
origin
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
pb https://github.com/paulboone/ticgit (fetch)
pb https://github.com/paulboone/ticgit (push)
从远程仓库中抓取与拉取
从远程仓库中获得数据,可以执行
$ git fetch <remote>
这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。
如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 必须注意 git fetch 命令只会将数据下载到你的本地仓库——它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。
推送到远程仓库
当你想分享你的项目时,必须将其推送到上游。 这个命令很简单:git push
$ git push origin master
只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先抓取他们的工作并将其合并进你的工作后才能推送。
查看某个远程仓库
如果想要查看某一个远程仓库的更多信息,可以使用git remote show <remote>
命令。
远程仓库的重命名与移除
你可以运行git remote rename [oldname] [newname]
来修改一个远程仓库的简写名。
你可以运行git remote remove [name]
来删除一个远程仓库。
查看本地与远程分支
$ git branch -a
推送本地分支到远程
$ git push origin [branch.name]
删除远程分支(本地保留)
$ git push origin :[branch.name]
拉取远程指定分支并在本地创建分支
git check -b local_branch origin/remote_branch
Git远程仓库地址变更本地如何修改
通过命令直接修改远程地址
进入git_test根目录
git remote
查看所有远程仓库, git remote xxx
查看指定远程仓库地址
git remote set-url origin http://192.168.100.235:9797/john/git_test.git
打标签
列出标签
在 Git 中列出已有的标签非常简单,只需要输入 git tag
,(-l
-list
是可选的)
删除标签
要删除掉你本地仓库上的标签,可以使用命令git tag -d <tagname>
。
Git 别名
Git 并不会在你输入部分命令时自动推断出你想要的命令。 如果不想每次都输入完整的 Git 命令,可以通过git config
文件来轻松地为每一个命令设置一个别名。
0 条评论