一些常用的GIT命令

git init

将一个空的文件夹进行初始化

 

git config --global user.email username@email.com
git config --global user.name "username"

设置提交代码时显示的用户名和邮箱,--global表示全局的git设置

 

git config --global core.autocrlf false

签入和签出代码时,是否自动对换行符进行转换。因为Windows和Linux对换行符的定义不同,可能导致代码内容有问题。

 

git remote add origin user@gitrepos
git remote set-url origin user@gitrepos

设置/添加远程分支的地址

 

git config --list

列出当前respository的全部设置

 

git fetch

从当前分支取得代码

 

git pull --rebase

将remote的代码与本地代码进行merge。--rebase的意思是让merge代码的时候,无需加注释则不加注释,让整个分支更加简洁。

 

git clone user@gitrepos

从server克隆代码到本地,会包含对应的GIT信息

 

git config core.sparsecheckout true

配置sparsecheckout,通过这个配置选项可以让GIT只从server上抓取自己需要的代码

配置文件在.git/info/sparse-checkout

 

git checkout [branch]

切换分支

如果是git checkout . 则表示撤销所有修改内容

 

git add .

将所有改动的文件加入track

 

git reset

将加入track的文件(git add)撤销

 

git commit .

将所有改动的文件(tracked, modified)commit到当前分支(本地)

 

git push

将本地的改动推送到server

 

git branch -a

列出全部分支,包括从server同步过来的远程分支

 

git checkout -b

创建新的本地分支

 

git commit -m

commit的时候直接写入注释,而无需再打开一个注释文档

 

git push --set-upstream origin

为没有关联远程分支的本地分支设置一个远程分支。

当从一个已有关联远程分支的本地分支上再拉出一个分支,且对这个新分支进行push的时候,会有提示说没有关联的远程分支

 

git push -d origin

删除远程分支。慎用!!!

 

git fetch  -p

删除不存在的远程分支。(不是很懂)

 

git branch -d <branch>

删除本地分支

 git diff <branch A> <branch B>

比较两个分支的区别

 

git reset --hard HEAD

回退版本到HEAD。HEAD即指向当前版本。即回退所有修改。(如果修改了大量文件,使用该命令可能导致所有修改都消失且无法挽回)。参考这篇文章

 

gitk --all

在Windows下打开GUI界面以查看分支树

 

git log --oneline

单行显示修改记录

 

git merge <branch>

将另一个分支与当前分支合并

posted @ 2018-11-23 09:34  czhao4  阅读(166)  评论(0编辑  收藏  举报