详情参见:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%91%BD%E4%BB%A4%E8%A1%8C
git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.name "输入你的用户名"
2.查看git的配置
git config --list
然后可以通过输入 git config <key>: 来检查 Git 的某一项配置
例如:git config remote.origin.url 得到远程仓库地址
3.获取帮助
git help
4.克隆仓库
git clone [url]
5.(添加内容到下一次提交中)跟踪一个文件或者文件夹下的所有文件,把已经跟踪的文件放到缓存区
git add
例如要跟踪rex文件
git add rex
6.查看文件的跟踪状态
git status
8. 查看已经暂存起来的变化
git diff --cached
git diff --staged
9.提交更新
git commit
-m参数后跟提交说明
git commit -m "222222222222222222222"
10.跳过暂存之间提交
git commit -a 该命令会把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤
11.移除文件
git rm
12.文件改名字
git mv file_from file_to
13.查看提交记录
git log
14.修改改最后一次提交
git commit --amend
15.取消已经暂存的文件
git reset HEAD benchmarks.rb
16.取消对文件的修改
git checkout --benchmarks.rb
17.查看当前的远程库
git remote -v
18.添加一个新的远程仓库
git remote add [shortname][url]
例如: git remote add uy git://xxx.com/xxx/xx.git
19.从远程仓库抓取数据
git fetch [remote-name]
20.git pull
21.推送数据到远程仓库
git push [remote-name] [branch-name]
22.查看远程仓库信息
git remote show [remote-name]
23.远程仓库的删除和重命名
git remote rename xx-old xx-new
Git可以对某一时间点上的版本打上标签,在发布版本的时候,会这么做,
git使用的标签有2种类型清亮级的和含辅注的
24.列出已有的标签
git tag
25.创建一个含附注的标签
git tag -a v1.4 -m '版本1.4'
-m是指定了标签的说明
26.列出提交信息
git show
27.轻量级标签,就是一个保存着对应提交对象和校验信息的文件, -a, -s,-m选项都不用,直接给出标签名字即可
git tag xxxx
28.创建验证标签,前提要有签署者的公钥,若没有公钥会报错
git tag -v xxx
29.分享标签
git push origin [tagname]
一次推送所有本地新增标签
git push origin --tags
30.创建分支
git branch xxx
HEAD指针:指向当前所在的本地分支
31.分支切换
git checkout xxx
做了2件事情:
1.使HEAD指回xxx分支
2.将工作目录恢复成xxx分支所指向的快照内容
32.新建并且切换分支
git checkout -b xxxx
33.删除分支
git branch -d xxx
34.合并分支
git merge xxx
35.查看每一个分支的最后一次提交
git branch -v
36.过滤列表中已经合并和尚未合并到当前分支
git branch --merged
git branch --no-merged
37.获得远程引用的完整列表
git ls-remote
git remote show 获得远程分支的更多信息
38.抓取本地没有的数据,并跟新本地数据
git fetch origin
39.跟踪分支
git checkout --track xxx/xxx1
40.查看设置的所有跟踪分支
git branch -vv
git pull = git fecth + git merge
变基注意:不要对在你的仓库外有副本的分支执行变基
git rebase xxx
42.将(dev)分支变基到目标分支上(master) ,在dev分支上操作
git rebase master dev
然后切换到master上就可以进行合并了
git checkout master
git merge server
43.分支有多个的情况下,但只想变基xxx1分支到master上,在该分支上
git rebase --onto master xxx xxx1
44.git可以使用4种主要的协议来传输资料:本地协议(Local)、HTTP协议、SSH协议和Git协议
45.私有管理团队
整合--管理者工作流程:独立小组的工作只能被特定的工程师整合,主仓库的master分支只能被那些工程师跟新,整合者合并
46.补丁
git apply xxx
该命令采用了:'全部应用,否则就全部撤销'的模型
48.发布构建
git archive master --prefix='project' | gzip >`git describe ,aster.`tar.gz
README文件
1.项目的作用
2.如何配置和安装
3.如何使用和运行的例子
4.项目的许可证
git rev-parse dev
50.查看引用日志(引用日志只存在于本地仓库)
git reflog
51.查看某一个分支的提交
git log ..dev
52.储藏工作(未改完,但是必须提交的文件)
git stash 或者 git stash save
53.查看储藏
git stash list
git stash apply stash@{2}
若不写编号默认是最近的
56.从工作目录中移除未被追踪的文件
git clean
git clean -f -d 移除工作目录中所有未跟踪的文件以及空的子目录
57.另一个比较安全的选项
git stash --all来移除每一样东西并存放在栈中
Git提供了几种通过GPG来签署和验证工作的方式
58.修改最后一次提交(若已经推送了最后一次提交就不要修正他)
git commit --amend
Git的三棵树(主要通过操纵这3棵树来更加连续的记录项目的快照)
HEAD:当前分支引用的指针,总是指向该分支上的最后一次提交,表示HEAD将是下一次提交的父节点
索引:预期的下一次提交,Git的'暂存区'
工作目录:沙盒
59.创建一个Git仓库
1.移动HEAD分支的指向(若指定了--soft,则到此为止)
2.是索引看起来想HEAD(若未指定--hard,则到此为止)
3.是工作目录看起来像索引
60.合并的时候忽略空格
git merge -Xignore-space-change whitespace
Git是一个内容寻址文件系统
git存储的是一系列文件快照
1.设置用户名和邮箱
git cinfig --global user.email bfhl@xx.com
git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.name "输入你的用户名"
2.查看git的配置
git config --list
然后可以通过输入 git config <key>: 来检查 Git 的某一项配置
例如:git config remote.origin.url 得到远程仓库地址
3.获取帮助
git help
4.克隆仓库
git clone [url]
5.(添加内容到下一次提交中)跟踪一个文件或者文件夹下的所有文件,把已经跟踪的文件放到缓存区
git add
例如要跟踪rex文件
git add rex
6.查看文件的跟踪状态
git status
7.git diff
本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动8. 查看已经暂存起来的变化
git diff --cached
git diff --staged
9.提交更新
git commit
-m参数后跟提交说明
git commit -m "222222222222222222222"
10.跳过暂存之间提交
git commit -a 该命令会把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤
11.移除文件
git rm
12.文件改名字
git mv file_from file_to
13.查看提交记录
git log
14.修改改最后一次提交
git commit --amend
15.取消已经暂存的文件
git reset HEAD benchmarks.rb
16.取消对文件的修改
git checkout --benchmarks.rb
17.查看当前的远程库
git remote -v
18.添加一个新的远程仓库
git remote add [shortname][url]
例如: git remote add uy git://xxx.com/xxx/xx.git
19.从远程仓库抓取数据
git fetch [remote-name]
20.git pull
21.推送数据到远程仓库
git push [remote-name] [branch-name]
22.查看远程仓库信息
git remote show [remote-name]
23.远程仓库的删除和重命名
git remote rename xx-old xx-new
Git可以对某一时间点上的版本打上标签,在发布版本的时候,会这么做,
git使用的标签有2种类型清亮级的和含辅注的
24.列出已有的标签
git tag
25.创建一个含附注的标签
git tag -a v1.4 -m '版本1.4'
-m是指定了标签的说明
26.列出提交信息
git show
27.轻量级标签,就是一个保存着对应提交对象和校验信息的文件, -a, -s,-m选项都不用,直接给出标签名字即可
git tag xxxx
28.创建验证标签,前提要有签署者的公钥,若没有公钥会报错
git tag -v xxx
29.分享标签
git push origin [tagname]
一次推送所有本地新增标签
git push origin --tags
30.创建分支
git branch xxx
HEAD指针:指向当前所在的本地分支
31.分支切换
git checkout xxx
做了2件事情:
1.使HEAD指回xxx分支
2.将工作目录恢复成xxx分支所指向的快照内容
32.新建并且切换分支
git checkout -b xxxx
33.删除分支
git branch -d xxx
34.合并分支
git merge xxx
35.查看每一个分支的最后一次提交
git branch -v
36.过滤列表中已经合并和尚未合并到当前分支
git branch --merged
git branch --no-merged
37.获得远程引用的完整列表
git ls-remote
git remote show 获得远程分支的更多信息
38.抓取本地没有的数据,并跟新本地数据
git fetch origin
39.跟踪分支
git checkout --track xxx/xxx1
40.查看设置的所有跟踪分支
git branch -vv
git pull = git fecth + git merge
变基注意:不要对在你的仓库外有副本的分支执行变基
总的原则:只对尚未推送或分享给别人的本地修改执行变基操作清理历史,从不对已推送至别处的提交执行变基操作,这样,你才能享受到两种方式带来的便利
git rebase xxx
42.将(dev)分支变基到目标分支上(master) ,在dev分支上操作
git rebase master dev
然后切换到master上就可以进行合并了
git checkout master
git merge server
43.分支有多个的情况下,但只想变基xxx1分支到master上,在该分支上
git rebase --onto master xxx xxx1
44.git可以使用4种主要的协议来传输资料:本地协议(Local)、HTTP协议、SSH协议和Git协议
45.私有管理团队
整合--管理者工作流程:独立小组的工作只能被特定的工程师整合,主仓库的master分支只能被那些工程师跟新,整合者合并
46.补丁
git apply xxx
该命令采用了:'全部应用,否则就全部撤销'的模型
47.检查补丁
git apply --check48.发布构建
git archive master --prefix='project' | gzip >`git describe ,aster.`tar.gz
README文件
1.项目的作用
2.如何配置和安装
3.如何使用和运行的例子
4.项目的许可证
5.如何向项目贡献力量
git rev-parse dev
50.查看引用日志(引用日志只存在于本地仓库)
git reflog
51.查看某一个分支的提交
git log ..dev
52.储藏工作(未改完,但是必须提交的文件)
git stash 或者 git stash save
53.查看储藏
git stash list
54.重新应用储藏
git stash apply stash@{2}
若不写编号默认是最近的
56.从工作目录中移除未被追踪的文件
git clean
git clean -f -d 移除工作目录中所有未跟踪的文件以及空的子目录
57.另一个比较安全的选项
git stash --all来移除每一样东西并存放在栈中
Git提供了几种通过GPG来签署和验证工作的方式
58.修改最后一次提交(若已经推送了最后一次提交就不要修正他)
git commit --amend
Git的三棵树(主要通过操纵这3棵树来更加连续的记录项目的快照)
HEAD:当前分支引用的指针,总是指向该分支上的最后一次提交,表示HEAD将是下一次提交的父节点
索引:预期的下一次提交,Git的'暂存区'
工作目录:沙盒
59.创建一个Git仓库
git init
reset命令会以特定的顺序重写3棵树1.移动HEAD分支的指向(若指定了--soft,则到此为止)
2.是索引看起来想HEAD(若未指定--hard,则到此为止)
3.是工作目录看起来像索引
60.合并的时候忽略空格
git merge -Xignore-space-change whitespace
Git是一个内容寻址文件系统