Git 常用命令总结
2016-02-15 14:32
295 查看
创建空目录 mkdir test
进入仓库目录 cd test
使用pwd命令查看文件路径
第一步 初始化成Git可管理的仓库 git init
第二步 添加文件到仓库 git add <file>
第三步 提交到仓库 git commit -m "注释"
使用 git status 查看结果, git diff <file> 查看具体结果
使用 git log 查看历史操作记录 git log --pretty=oneline
使用 git reset --hard HEAD^ 返回上一个版本 git reset --hard ******(前几
位的commit id)返回对应的版本
使用 get reflog 查看每一次的命令 可用来回到最新版本
使用 git diff HEAD -- <file> 命令可以查看工作区和版本库里面最新版本的区
别
使用 git checkout -- <file> 撤销工作区的修改(撤销add之前的修改)
使用 git reset HEAD <file> 撤销暂存区的修改 (撤销commit之前的修改)
使用 rm <file> 删除文件 git rm <file>在版本库中删掉 在使用 add commit
提交
使用 ssh-keygen -t rsa -C "youremail@example.com" 创建 SSH key
使用 SSH协议 比 使用https 协议 速度更快 并且不需要每次输入口令
使用 git remote add origin git@github.com:xxx/xxx.git 命令 关联远程仓库
使用 git push -u origin master 第一次将本地的master分支全部推送到远程仓
库 以后 使用 git push origin master 提交即可
使用 git clone git clone git@github.com:xxx/xxx.git 将远程仓库的内容
clone 到本地。当从远程仓库clone是,默认情况下,只能看到本地的master分支
,看不到其他分支,若想在<branch>分支上开发时,必须创建远程origin的
<branch>分支到本地,使用命令 git checkout -b <branch> origin/<branch>
使用 git checkout -b <branch> 创建并切换到新分支
使用 git branch <branch> 创建分支
使用 gti checkout <branch> 切换到分支<branch>
使用 git branch 查看分支 *所在位置为当前分支
使用 git merge <branch> 将<branch>分支合并到master
使用 git branch -d <branch> 删除分支<branch>
使用 git log --graph 命令可以看到分支合并图
使用 git merge --no-ff -m "merge with no-ff" <branch> 使用普通模式合并
,这样可以通过命令 git log --graph --pretty=oneline --abbrev-commit查看
合并历史,快速合并模式不能查看历史
使用 git branch -D <name> 强行删除一个没有被合并过的分支
使用 git remote 查看远程仓库信息, git remote -v 查看详细信息
使用 git push origin master 将本地master分支推送到远程仓库
使用 git push origin <branch> 将本地<branch>分支推送到远程仓库
当工作进行一半,需要修复一个BUG时,可以使用命令 git stash 将当前的工作
隐藏,然后想在哪个分支上修复BUG,就在哪个分支上创建BUG分支,解决完后在
合并分支。合并分支(先切换到父分支,在执行合并分支命令)。解决完BUG后,
切换到工作分支,然后使用命令查看分支工作情况 git stash list .Git 将
stash内容保存在某个地方,此时需要恢复一下,有两个方法:1. git stash
apply 恢复,并要使用命令 git stash drop 手动删除stash 内容。 2. 使用git
stash pop ,恢复的同时把stash 内容也删了。
git pull origin master //从Github上pull到本地源码库
git config --list //查看配置信息
当两人同时push时,后提交的人需要解决冲突在提交,先pull前者的提交,然后
merge到你的本地分支,手动解决冲突。然后你就可以push你的提交了。
当解决完冲突后 merge 到master上之后,master 上会比合并的那个分支
<branch>多提交一次,两个分支的内容会不一样,可以再将master再merge到合并
分支<branch>,使两者保持一致,不过没有必要,因为之前merge过了,并且已经
修改过了(解决冲突)。修改之后合并分支<branch>就没有作用了,可以删掉。
快速合并模式和普通合并模式的区别:
ff和no ff的结果都是一样的,都会合并,其最大区别在于,ff会"默默"地合并,其仅
仅是将指针移动到分支的最新处(当然删除分支并不会对master产生任何影响),而
no ff则是重新建立了一个commit,然后将合并当做一个comiit来处理,自然就产生
了合并的信息.
所以,所谓的分支信息丢失,在这里是指:合并的时候,master的log里面没有任何的
合并记录!
所以,可想而知,如果你的master很重要,某一次合并后出现问题,而你又是使用ff,
这里没有任何记录可以让你回退版本的!(回退只有靠commit id,只有commit 操
作才会产生 commit id ,ff 无法回退到之前版本).
当出现:
原因是远程仓库的内容和你试图想提交的有冲突。通过使用命令 git pull 将最新的提交抓取下来,然后在本地进行合并,解决冲突后提交。如果使用 git pull 出现:
说明本地分支和远程分支的链接关系没有创建,使用命令 git branch --set-upstream branch-name origin/branch-name 然后在进行拉取。
进入仓库目录 cd test
使用pwd命令查看文件路径
第一步 初始化成Git可管理的仓库 git init
第二步 添加文件到仓库 git add <file>
第三步 提交到仓库 git commit -m "注释"
使用 git status 查看结果, git diff <file> 查看具体结果
使用 git log 查看历史操作记录 git log --pretty=oneline
使用 git reset --hard HEAD^ 返回上一个版本 git reset --hard ******(前几
位的commit id)返回对应的版本
使用 get reflog 查看每一次的命令 可用来回到最新版本
使用 git diff HEAD -- <file> 命令可以查看工作区和版本库里面最新版本的区
别
使用 git checkout -- <file> 撤销工作区的修改(撤销add之前的修改)
使用 git reset HEAD <file> 撤销暂存区的修改 (撤销commit之前的修改)
使用 rm <file> 删除文件 git rm <file>在版本库中删掉 在使用 add commit
提交
使用 ssh-keygen -t rsa -C "youremail@example.com" 创建 SSH key
使用 SSH协议 比 使用https 协议 速度更快 并且不需要每次输入口令
使用 git remote add origin git@github.com:xxx/xxx.git 命令 关联远程仓库
使用 git push -u origin master 第一次将本地的master分支全部推送到远程仓
库 以后 使用 git push origin master 提交即可
使用 git clone git clone git@github.com:xxx/xxx.git 将远程仓库的内容
clone 到本地。当从远程仓库clone是,默认情况下,只能看到本地的master分支
,看不到其他分支,若想在<branch>分支上开发时,必须创建远程origin的
<branch>分支到本地,使用命令 git checkout -b <branch> origin/<branch>
使用 git checkout -b <branch> 创建并切换到新分支
使用 git branch <branch> 创建分支
使用 gti checkout <branch> 切换到分支<branch>
使用 git branch 查看分支 *所在位置为当前分支
使用 git merge <branch> 将<branch>分支合并到master
使用 git branch -d <branch> 删除分支<branch>
使用 git log --graph 命令可以看到分支合并图
使用 git merge --no-ff -m "merge with no-ff" <branch> 使用普通模式合并
,这样可以通过命令 git log --graph --pretty=oneline --abbrev-commit查看
合并历史,快速合并模式不能查看历史
使用 git branch -D <name> 强行删除一个没有被合并过的分支
使用 git remote 查看远程仓库信息, git remote -v 查看详细信息
使用 git push origin master 将本地master分支推送到远程仓库
使用 git push origin <branch> 将本地<branch>分支推送到远程仓库
当工作进行一半,需要修复一个BUG时,可以使用命令 git stash 将当前的工作
隐藏,然后想在哪个分支上修复BUG,就在哪个分支上创建BUG分支,解决完后在
合并分支。合并分支(先切换到父分支,在执行合并分支命令)。解决完BUG后,
切换到工作分支,然后使用命令查看分支工作情况 git stash list .Git 将
stash内容保存在某个地方,此时需要恢复一下,有两个方法:1. git stash
apply 恢复,并要使用命令 git stash drop 手动删除stash 内容。 2. 使用git
stash pop ,恢复的同时把stash 内容也删了。
git pull origin master //从Github上pull到本地源码库
git config --list //查看配置信息
当两人同时push时,后提交的人需要解决冲突在提交,先pull前者的提交,然后
merge到你的本地分支,手动解决冲突。然后你就可以push你的提交了。
当解决完冲突后 merge 到master上之后,master 上会比合并的那个分支
<branch>多提交一次,两个分支的内容会不一样,可以再将master再merge到合并
分支<branch>,使两者保持一致,不过没有必要,因为之前merge过了,并且已经
修改过了(解决冲突)。修改之后合并分支<branch>就没有作用了,可以删掉。
快速合并模式和普通合并模式的区别:
ff和no ff的结果都是一样的,都会合并,其最大区别在于,ff会"默默"地合并,其仅
仅是将指针移动到分支的最新处(当然删除分支并不会对master产生任何影响),而
no ff则是重新建立了一个commit,然后将合并当做一个comiit来处理,自然就产生
了合并的信息.
所以,所谓的分支信息丢失,在这里是指:合并的时候,master的log里面没有任何的
合并记录!
所以,可想而知,如果你的master很重要,某一次合并后出现问题,而你又是使用ff,
这里没有任何记录可以让你回退版本的!(回退只有靠commit id,只有commit 操
作才会产生 commit id ,ff 无法回退到之前版本).
当出现:
原因是远程仓库的内容和你试图想提交的有冲突。通过使用命令 git pull 将最新的提交抓取下来,然后在本地进行合并,解决冲突后提交。如果使用 git pull 出现:
说明本地分支和远程分支的链接关系没有创建,使用命令 git branch --set-upstream branch-name origin/branch-name 然后在进行拉取。
相关文章推荐
- UVa--1593 Alignment of Code(string)
- 如何自定义一个加载动画供各个数据加载页面调用
- 用GUID做主键与int做主键的区别(转)
- Centos 7 安装 Google chrome 浏览器
- 你负责貌美如花,我负责赚钱养家
- 我收藏的技术知识图(每张都是大图)
- Dolby Digital(Dolby Surround Digital,杜比数码环绕声)
- Handler的简单使用
- Service绑定Activity
- Lua table用法
- 安装hue依赖包
- 30行代码实现Javascript中的MVC
- CSS的继承、层叠和特殊性
- 在ASP.NET MVC项目中使用RequireJS库的用法示例
- 倒三角形
- 源码推荐(02.15B):多任务断点下载,展示文字标题相关的动效
- ZooKeeper的安装
- myeclipse maven web项目配置
- Android Studio多渠道打包和代码混淆教程
- Android Studio系列教程五--Gradle命令详解与导入第三方包