Git 常用命令
2014-03-31 12:33
134 查看
一、初始化
0、在远程服务器新建文件夹test,在里边 执行git init然后在客户端操作
1、git init
2、添加忽略文件
(如果是已经add . 以后再想添加忽略文件
在commit完成的状态下
git rm删掉这些文件 或git rm -r
再添加忽略文件夹
再commit
)
3、git add .
4、git commit -m 'dddd'
查看分支 git branch
git remote add origin Administrator@192.168.12.62:test
git push -u origin master
二、新建分支
git checkout -b develop master
三、修改后 提交
git add .
git commit -m 'dddd'
四、提交后合并到主分支
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop
五、查看分支上各个commit节点
git log
五、再push到远程
$ git push origin develop
git push -u origin --all # to push all branchs
默认情况下,'git push'命令不会将标签上传到远程服务器上。为了共享这些标签,你必须在'git push'命令后明确添加-tags选项
git push --tags
六、把远程的分支clone到本地
git clone默认会把远程仓库整个给clone下来
但只会在本地默认创建一个master分支
如果远程还有其他的分支,此时用git branch -a查看所有分支
git checkout -b ** origin/**
七、git 导出功能 git archive
git archive -o latest.zip HEAD
git archive --format=zip HEAD > git-1.4.0-docs.zip
git archive --format=zip 49895cf0258a3e795108864f624031d8b0d27a77 > git-1.4.0-docs.zip
或使用Tortoise git 的export 功能
八、远程git迁移
断开远程关联(防止把已有的远程删掉,可以先断开网再执行以下操作)
git remote rm origin
添加到远程
九、撤销修改
git checkout .
或者 git reset --hard HEAD
或 tortoise revert
十、查看当前状态
git status
十一、删除远程分支
一不小心把本地的临时分支push到server上去了,想要删除。
一开始用
git branch -d xx
或
git branch -D xx
不成功,发现只是删除的本地对该远程分支的track,正确的方法应该是这样:
git push origin :branchname
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
十二、更改远程路径
git remote set-url origin git@gitlab.hujiang.com:android/android_usa.git
十三、查看远程仓库地址
git remote -v
十四、提交空文件夹
在.gitignore里添加
/pull_temp/*
!.gitignore
然后在pull_temp里创建一个.gitignore即可
使用命令行创建 .gitignore
mkdir pull_temp && touch pull_temp /.gitignore
十五、创建公钥密钥命令
ssh-keygen -t rsa -C xxx@gmail.com
十六、fetch和pull的区别
简单来说,git pull = git fetch + git merge
可以用git fetch来随时获取你remote分支的更新,但它不会改变你当前的分支。这个操作可以避免当origin/master上有其他人做了更新,
而你当前分支上的数据可能是旧的时候,fetch会把这些更新下载到你的git中。然后,如果你想同步这个更新,git merge origin/master就可
以了。
git pull可以直接将远程库的更新合并到你的当前版本库中,做到和远程库的数据一致。
十七、github的fork功能
http://help.github.com/fork-a-repo/
概要: 克隆别人的代码库到自己的项目中,可以作为子模块的形式使用,或二次开发
操作流程:
在开源项目中点击fork按钮,稍等一会儿,该项目便会拷贝一份到你的respositories中,
克隆一份代码到本地:git clone git@github.com:username/Spoon-Knife.git
配置:(项目克隆完成后,默认远程的别名为origin,此为我们自己项目中的版本,并非原始作者的代码库)
创建原始代码库的别名,方便跟踪代码 git remote add upstream git://github.com/octocat/Spoon-Knife.git
git fetch upstream 跟踪原始代码
提交代码更新到自己的代码库 git push origin master
获取原始代码库的更新
git fetch upstream
git merge upstream/master
十八、git 切换分支的时候 是否需要提交当前已经修改的
我推荐你用git stash 暂存起来,切换回来的时候用git stash apply重新获取刚才的变更。切换的时候给你一个干净的工作目录:)
十九、git reset
回退到某个节点
0、在远程服务器新建文件夹test,在里边 执行git init然后在客户端操作
1、git init
2、添加忽略文件
(如果是已经add . 以后再想添加忽略文件
在commit完成的状态下
git rm删掉这些文件 或git rm -r
再添加忽略文件夹
再commit
)
3、git add .
4、git commit -m 'dddd'
查看分支 git branch
git remote add origin Administrator@192.168.12.62:test
git push -u origin master
二、新建分支
git checkout -b develop master
三、修改后 提交
git add .
git commit -m 'dddd'
四、提交后合并到主分支
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop
五、查看分支上各个commit节点
git log
五、再push到远程
$ git push origin develop
git push -u origin --all # to push all branchs
默认情况下,'git push'命令不会将标签上传到远程服务器上。为了共享这些标签,你必须在'git push'命令后明确添加-tags选项
git push --tags
六、把远程的分支clone到本地
git clone默认会把远程仓库整个给clone下来
但只会在本地默认创建一个master分支
如果远程还有其他的分支,此时用git branch -a查看所有分支
git checkout -b ** origin/**
七、git 导出功能 git archive
git archive -o latest.zip HEAD
git archive --format=zip HEAD > git-1.4.0-docs.zip
git archive --format=zip 49895cf0258a3e795108864f624031d8b0d27a77 > git-1.4.0-docs.zip
或使用Tortoise git 的export 功能
八、远程git迁移
断开远程关联(防止把已有的远程删掉,可以先断开网再执行以下操作)
git remote rm origin
添加到远程
git remote add origin git@gitlab.hujiang.com:android_kouyu700.git git push -u origin master
九、撤销修改
git checkout .
或者 git reset --hard HEAD
或 tortoise revert
十、查看当前状态
git status
十一、删除远程分支
一不小心把本地的临时分支push到server上去了,想要删除。
一开始用
git branch -d xx
或
git branch -D xx
不成功,发现只是删除的本地对该远程分支的track,正确的方法应该是这样:
git push origin :branchname
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
十二、更改远程路径
git remote set-url origin git@gitlab.hujiang.com:android/android_usa.git
十三、查看远程仓库地址
git remote -v
十四、提交空文件夹
在.gitignore里添加
/pull_temp/*
!.gitignore
然后在pull_temp里创建一个.gitignore即可
使用命令行创建 .gitignore
mkdir pull_temp && touch pull_temp /.gitignore
十五、创建公钥密钥命令
ssh-keygen -t rsa -C xxx@gmail.com
十六、fetch和pull的区别
简单来说,git pull = git fetch + git merge
可以用git fetch来随时获取你remote分支的更新,但它不会改变你当前的分支。这个操作可以避免当origin/master上有其他人做了更新,
而你当前分支上的数据可能是旧的时候,fetch会把这些更新下载到你的git中。然后,如果你想同步这个更新,git merge origin/master就可
以了。
git pull可以直接将远程库的更新合并到你的当前版本库中,做到和远程库的数据一致。
十七、github的fork功能
http://help.github.com/fork-a-repo/
概要: 克隆别人的代码库到自己的项目中,可以作为子模块的形式使用,或二次开发
操作流程:
在开源项目中点击fork按钮,稍等一会儿,该项目便会拷贝一份到你的respositories中,
克隆一份代码到本地:git clone git@github.com:username/Spoon-Knife.git
配置:(项目克隆完成后,默认远程的别名为origin,此为我们自己项目中的版本,并非原始作者的代码库)
创建原始代码库的别名,方便跟踪代码 git remote add upstream git://github.com/octocat/Spoon-Knife.git
git fetch upstream 跟踪原始代码
提交代码更新到自己的代码库 git push origin master
获取原始代码库的更新
git fetch upstream
git merge upstream/master
十八、git 切换分支的时候 是否需要提交当前已经修改的
我推荐你用git stash 暂存起来,切换回来的时候用git stash apply重新获取刚才的变更。切换的时候给你一个干净的工作目录:)
十九、git reset
回退到某个节点