githug答案
http://www.tobscore.com/githug-what-is-it/
查询当前项目远程仓库地址
git remote -v
查询当前提交记录
git log
初始化git仓库
git init
获取远程仓库代码
git clone git://xxx.xxx.git
git clone https://xxx.xxx/xxx/xxx
git clone https://xxx.xxx/xxx/xxx xxx_repo
查看仓库状态
git status
获取代码
git pull
git pull https://xxx.xxx.git branch-name
从远程获取最新代码
git fetch origin
配置git用户名和邮箱
git config --global user.email "xxx@xx.com"
git config --global user.name "xxx"
忽略提交的文件
在.gitignore中增加
*.a,忽略所有.a文件,这些文件不会在仓库中
!lib.a lib.a文件需要处理,仓库中会有记录
增加/删除文件
git add xxx.c
git rm xxx.c
从cache stage中删除
git rm --cached xxx.c
删除提交的文件夹
git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master
储藏stash
经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。
“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
git stash
重命名/移动文件mv
git mv oldfile.txt newfile.txt
查看提交历史log
git log
添加标签tag
添加标签
git tag -d/-l/-v xxx
git tag -a v1.1.2 -m 'final release'
提交tag
提交所有tag
git push --tags
提交tag到指定branch
git push origin <tag_name>
将新修改并入上一次提交
git add xx.xx
git commit --amend -m 'xxx'
在将来某时提交
git commit -m "message" --date=22.12.2016T20:20:20
取消误提交的文件
git reset HEAD file.s
文件将返回unstage状态
撤销最后一次提交,但保存index
git reset --soft HEAD^
-q, --quiet be quiet, only report errors
--mixed reset HEAD and index
--soft reset only HEAD
--hard reset HEAD, index and working tree
--merge reset HEAD, index and working tree
--keep reset HEAD but keep local changes
-p, --patch select hunks interactively
撤销到指定版本
git log(获取提交记录,其中包含每次提交操作生成的commit_id)
git remove --hard commit_id
撤销未提交的修改
git checkout -- file.rb
确定远程仓库的名字
git remote
显示远程仓库的url名字
git remote -v
代码下载到指定目录
git clone https://xxx.xxx.xxx/xxx.git dir(指定目录)
列出所有分支
git branch -a