Git相关命令:
1,设置用户信息:
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。
当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。
检查配置信息
git config --list
2,命令帮助
要想获得 git config 命令的手册,执行 git help config
3,获取Git仓库
配置并初始化一个仓库(repository)、开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。
配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览你的项目的历史版本以及不同提交(commits)之间的差异、
如何向你的远程仓库推送(push)以及如何从你的远程仓库拉取(pull)文件。
1,将尚未进行版本控制的本地目录转换为 Git 仓库;
git init
git add *.c
git commit -m 'initial project version'
2,克隆现有的仓库
git clone https://github.com/libgit2/libgit2
3,记录每次更新到仓库
检查当前文件状态 git status
跟踪新文件 git add README
4,忽略文件
cat .gitignore
*.[oa]
*~
实例:
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
5,查看已暂存和未暂存的修改
git diff
6,提交更新
git commit
7,移除文件
git rm
4,Git 基础 - 远程仓库的使用
1,查看远程仓库
git remote
你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
git remote -v
2,添加远程仓库
git remote add <shortname> <url> 添加一个新的远程 Git 仓库
git remote add pb https://github.com/paulboone/ticgit
3,从远程仓库中抓取与拉取
git fetch <remote>
4,推送到远程仓库
git push origin master
5,查看某个远程仓库
git remote show origi
6,远程仓库的重命名与移除
git remote rename pb paul
7,推送push
8,拉取pull 拉取代码同时执行合并merge
pull = fetch + merge
9,远程仓库交换
1,在github上创建一个仓库
2,执行:git remote add origin https://github.com/wjianbin/testgit.git 命令
3,将本地的master与远程的master做关联
4,本地common 然后 push
10,查看本地关联的远程仓库信息
git remote show
git remote show origin
5,提交准则
1,首先,你的提交不应该包含任何空白错误。 Git 提供了一个简单的方式来检查这点——在提交前,运行 git diff --check,它将会找到可能的空白错误并将它们为你列出来。
6,分支
1,显示当前分支
git branch
2, 创建新的分支
git branch newbranch
3, 切换分支
git checkout newbranch
4, 合并分支
git merge newbranch
5, 版本回退
git rest --hard HEAD^ 回退上一版本
git rest --head HEAD~2 回到倒数第二个版本
git rest --head commit id
6, 显示操作日志
git reflog
7,checkout
8, git 标签
1,创建轻量级标签
git tag v1.0.1
2, 创建一个带有附注的标签
git tag -a v1.0.2 -m 'relase version'
3, 删除标签
git tag -d tag_name
4,推送标签到远程
git push origin tag_name
9, 差异处理diff
1, git diff 比较的是暂存区与工作区的差别
2,git diff HEAD 比较的是最新的提交与工作区的差别
3,git diff -cached 比较的是最新的提交与暂存区之间的区别
10,使用ssh连接远程仓库
1,在GitHub创建对应仓库
2,使用git remote add origin https://github.com/wjianbin/testgit.git 命令
git remote show origin
3, ssh 公私钥生成
which ssh-keygen
ssh-keygen 点enter即可 生成文件:/c/Users/Administrator/.ssh/
cd
ls
cat /c/Users/Administrator/.ssh/id_rsa.pub
将公钥的内容复制配置到GitHub
git push -u origin master
4,远程分支
查看远程分支
git branch -a
查看分支最后提交信息
git branch -av
创建其他分支
创建远程分支(本地分支push到远程):$ git push origin [name]
11,一台机器多公钥生成
1、查看系统ssh-key代理,执行如下命令
$ ssh-add -l
以上命令如果输出 The agent has no identities. 则表示没有代理。如果系统有代理,可以执行下面的命令清除代理:
$ ssh-add -D
2、然后依次将不同的ssh添加代理,执行命令如下:
$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/aysee
你会分别得到如下提示:
12048 8e:71:ad:88:78:80:b2:d9:e1:2d:1d:e4:be:6b:db:8e /Users/aysee/.ssh/id_rsa (RSA)
和
2048 8e:71:ad:88:78:80:b2:d9:e1:2d:1d:e4:be:6b:db:8e /Users/aysee/.ssh/id_rsa (RSA)
2048 a7:f4:0d:f1:b1:76:0b:bf:ed:9f:53:8c:3f:4c:f4:d6 /Users/aysee/.ssh/aysee (RSA)
如果使用 ssh-add ~/.ssh/id_rsa的时候报如下错误,则需要先运行一下 ssh-agent bash 命令后再执行 ssh-add ...等命令
1 Could not open a connection to your authentication agent.
3、配置 ~/.ssh/config 文件
如果没有就在~/.ssh目录创建config文件,该文件用于配置私钥对应的服务器
# Default github user(first@mail.com)
Host github.com
HostName github.com
User git
IdentityFile C:/Users/username/.ssh/id_rsa
# aysee (company_email@mail.com)
Host github-aysee
HostName github.com
User git
IdentityFile C:/Users/username/.ssh/aysee
Host随意即可,方便自己记忆,后续在添加remote是还需要用到。 配置完成后,在连接非默认帐号的github仓库时,远程库的地址要对应地做一些修改,比如现在添加second帐号下的一个仓库test,则需要这样添加:
git remote add test git@github-aysee:ay-seeing/test.git
#并非原来的git@github.com:ay-seeing/test.git
ay-seeing 是github的用户名
4、测试 ssh
1 ssh -T git@github.com
你会得到如下提示,表示这个ssh公钥已经获得了权限
1 Hi USERNAME! You've successfully authenticated, but github does not provide shell access.