设置用户名与邮箱git
git config --global user.name "My Name" git config --global user.email "my@email.com"
上面设置命令中带了“–global"参数,是全局配置,影响本机上全部的git项目。也能够对一些单独的项目进行设置,进入要设置的项目目录,进行设置:github
cd dir git config user.name "My Name" git config user.email "my@email.com"
查看配置:缓存
cat .git/config
建立git仓库:服务器
mkdir project cd project git init #在当前的目录下建一个仓库
检出仓库:并发
git clone git@server:app.git myrepo
查看远程仓库:app
$ git remote -v
添加远程仓库:fetch
$ git remote add [name] [url]
删除远程仓库:this
$ git remote rm [name] git push origin master
更新本地代码到最新版本(须要merge才能合到本地代码中):url
git fetch
合并更新后的代码到本地:日志
git merge
更新代码方式的另外一种方法(git pull是git fetch和git merge命令的一个组合):
git pull
修改代码后,查看已修改的内容:
git diff --cached
将新增长文件加入到git中:
git add file1 file2 file3
全部文件所有加入到git中:
git add .
从git中删除文件:
git rm file1 git rm -r dir1
提交修改:
git commit -m 'this is memo'
若是想省掉提交以前的 git add 命令,能够直接用:
git commit -a -m 'this is memo' commit和commit -a的区别, commit -a至关于: 第一步:自动地add全部改动的代码,使得全部的开发代码都列于index file中 第二步:自动地删除那些在index file中但不在工做树中的文件 第三步:执行commit命令来提交
提交全部修改到远程服务器,这样,其它团队成员才能更新到这些修改
git push
建立dev分支:
git branch dev
查看项目仓库中有几个分支:
git branch //*号为当前所在分支 dev * master
分支切换:
//切换到dev分支 git checkout dev
查看master分支和dev分支差别:
git diff dev
合并dev分支到master分支(若是合并发生冲突,须要本身解决冲突):
git merge branchname
解决冲突:
当merge命令自身没法解决冲突的时候,它会将工做树置于一种特殊的状态,而且给用户提供冲突信息,以期用户能够本身解决这些问题。固然在这个时候,未发生冲突的代码已经被git merge登记在了index file里了。若是你这个时候使用git diff,显示出来的只是发生冲突的代码信息。 在你解决了冲突以前,发生冲突的文件会一直在index file中被标记出来。这个时候,若是你使用git commit提交的话,git会提示:filename.txt needs merge 在发生冲突的时候,若是你使用git status命令,那么会显示出发生冲突的具体信息。
在你解决了冲突以后,你可使用以下步骤来提交:
第一步(若是须要增长文件):
git add file1
第二步:
git commit
删除dev分支:
git branch -d dev
若是要删除的分支没有被合并到其它分支中去,那么就不能用“git branch -d”来删除它,须要改用“git branch -D”来强制删除。
将分支推送到远端仓库:
git push origin <branch>
删除远程分支:
git push origin --delete <branch>
git能够对某一时间点上的版本打上标签。如在发布某个软件版本(好比 v0.1等),能够打版本标签。
列出已有的标签:
git tag
打标签:
git tag -a v0.1 -m 'tag version 0.1'
把本地tag推送到远程:
git push --tags
删除tag:
git push origin --delete tag <tagname>
显示commit日志:
git log
不只显示commit日志,并且同时显示每次commit的代码改变:
git log -p
查看当前仓库的状态:
git status
回滚代码:
git revert HEAD
你也能够revert更早的commit,例如:
git revert HEAD^
销毁本身的修改
git reset --hard
查看最新版本和上一个版本的差别(一个^表示向前推动一个版本)
git diff HEAD HEAD^
git取消已经缓存的文件(慎用):
git reset
git恢复删除了的文件,git pull 从git服务器取出,而且和本地修改merge, 相似于SVN up,可是对删除的文件无论用,恢复删除文件用
git checkout -f
Global setup: Download and install Git git config --global user.name "imbingdian" git config --global user.email imbingdian@gmail.com Next steps: mkdir projectname cd projectname git init touch README git add README git commit -m 'first commit' git remote add origin git@github.com:bingdian/projectname.git git push -u origin master Existing Git Repo? cd existing_git_repo git remote add origin git@github.com:bingdian/projectname.git git push -u origin master