Git 使用实记

下面是我最近一直在使用的git命令。不知道能否为你提供点帮助。当然,我在github上做了很多好东西,全是开源的供你慢慢享用,如果觉得不错可以star(收藏),fllow(订阅)一下。等我空点了再把项目技术分享给你们哦。https://github.com/luzexi

clone:

git clone path dir 或者 git clone path 名字可以省略默认使用该项目名

branch:

git branch -r 查看所有分支

git branch 查看当前获取的分支信息,在没有获取分支信息前,只会显示在哪个提交点。

checkout:

git checkout branch_name 切换某个分支

git checkout -b branch_name 以当前分支未基础建立新分支并且切换过去

git checkout -f 强制替换与分支不一样的文件

git checkout path 撤销某个未提交文件恢复原状

git checkout . 撤销所有未提交文件恢复原状

git checkout --ours path 冲突中以当前分支未基准

git checkout --theirs path 冲突中以对方分支未基准

add:

git add path 告诉git这个文件或文件夹加入到提交队列

git add . 告诉git目录下文件和文件夹都加入到提交队列

rm:

git rm path 告诉git这个文件或文件夹需要被删除

git rm . 告诉git当前目录下所有文件和文件夹都需要被删除

git rm git status | grep delete | awk '{print $2}' 删除所有被删除的文件

commit:

git commit -m "write something" 提交当前被git add 或者 git rm 的内容

git commit -a -m "write something" 提交所有被git跟踪的文件,-a表示所有

push:

git push origin branchname 推送branchname分支

git push origin branchname1:branchname2 把当branchname1支推送到新建一个分支branchname2中去

git push 推送所有本地修改过的分支到服务器

pull:

git pull 下载当前分支内容

git pull server branchname 下载server服务器上的 branchname分支,如果有冲突将自动合并

show:

git show commit_id 查看某次提交修改的内容

whatchanged:

git whatchanged filepath 查看某个文件的修改记录

clean:

git clean -f 清除所有未被git跟踪的文件

git clean -df 清除所有未被git跟踪的文件和文件夹

reset:

git reset --hard commitID 回撤到某个提交点,文件也一同回到那个状态

git reset --soft commitID 回撤到某个提交点,但文件仍然保持原来被修改后的状态。

fetch:

git fetch 这个我只知道抓取当前项目的所有信息主要实分支信息和提交记录,并不下载内容

merge:

git merge server branchname 合并server项目上branchname分支

git merge branchname 合并默认origin项目上的branchname分支

diff:

git diff file_name 比较文件与前一个版本的不同之处

remote:

git remote add servername gitpath 将gitpath以servername命名,方便后面操作

submodule:

git submodule add gitaddress dirname 加入其他模块仓库

git submodule init 初始化模块仓库

git submodule update 更新模块仓库

log:

-p:按补丁显示每个更新间的差异

--stat:显示每次更新的修改文件的统计信息

--shortstat:只显示--stat中最后的行数添加修改删除统计

--name-only:尽在已修改的提交信息后显示文件清单

--name-status:显示新增、修改和删除的文件清单

--abbrev-commit:仅显示SHA-1的前几个字符,而非所有的40个字符

--relative-date:使用较短的相对时间显示(例如:"two weeks ago")

--graph:显示ASCII图形表示的分支合并历史

--pretty:使用其他格式显示历史提交信息