分类:Git
复制项目
git clone
查看状态
git status
放弃所有的代码更改(从上一次提交的版本中回滚)
git checkout .
放弃某文件的代码更改(从上一次提交的版本中回滚)
git checkout xx文件
添加所有变更的代码加入到git索引
git add .
添加特定的变更到git索引
git add xx文件
从当前的工作空间和索引中删除文件
git rm
提交更新到本地当前分支,并写明注释
git commit m "related comment"
推送本地代码到远程分支
git push origin master
查看历史日志
git log
查看某个文件的修改记录
git blame -L 160,+10 xxx.cc
合并commit记录,前四次。注意已经rebase过的commit节点最好不要再次rebase
git rebase -i HEAD~4
保存程序修改到git栈,但是不提交。stash以后用git status查看,工作目录下是干净的,可以切换到其它分支工作。
git stash
恢复上次stash(最近一次)的代码到当前分支。同时将内容从堆栈中移走。
git stash pop
列出存储的相关stash list
git stash list
将制定版本号为stash@{n}的工作内容取出到当前分支
git stash apply stash@{n}
丢弃版本号为stash@{n}的工作存储
git stash drop stash@{n}
清空stash存储内容
git stash clear
从储藏中创建分支 feature/temp_branch_20140506
git stash branch feature/temp_branch_20140506
把head指向某分支,也就是把当前的工作节点转为xx分支。所谓分支,就是状态链中的某一点。
git checkout xx分支
更新
git pull
有可能某远程分支已经被删除,该命令执行后可以查看当前远程分支有哪些
git remote prune origin
查看远程分支的状态
git remote show origin
列出所有分支
git branch -a
列出本地分支
git branch
列出远程分支
git branch -r
从master拉新分支要先切换到master
git checkout master
创建本地分支名为newbranch
git checkout - b newbranch
推送本地新分支到远程,即创建远程分支
git push origin newbranch
本地分支newbranch与远程分支newbranch挂钩(有默认行为,可以不执行)
git branch --set-upstream-too=origin/newbranch newbranch
删除本地分支(注意删除的是已经merge的分支,对于未合并的分支是删除不掉的。强制删除用-D)
git branch -d xx分支
推送空到远程分支,即删除远程分支
git push origin : <远程分支>
/:的其它例子/
提交本地分支test作为远程master分支
git push origin test:master
提交本地test分支作为远程的test分支
git push origin test:test
在.gitignore中加入想要忽略的文件
忽略与.gitignore同级的test文件(注意.gitignore只会忽略那些还没有加入版本控制的文件)
/test
忽略.gitignore同级以及下级的所有test文件
test/
如何忽略那些已经加入版本控制的文件?
删除所有文件版本控制
git rm -r --cached .
添加
git add .
提交
git commit -m"fix ignore"
将代码推到远端,即生效
git push origin xx分支
如何让空目录被git识别?
在git中,空目录文件是不会被识别并提交的,需要在目录下添加keep文件
touch .gitkeep
以master分支合到 feature/temp_branch_20140506 分支为例
分支移动到master
git checkout master
更新远程代码到本地
git pull
分支移动到 feature/temp_branch_20140506 并更新
git checkout feature/temp_branch_20140506
git pull
把本地master合并到当前分支(如果有冲突,解决冲突)
git merge master
推送本地分支代码到远程,完成合并操作
git push origin feature/temp_branch_20140506
配置全局用户名和密码
git config --global user.name "youname"
git config --global user.email "emailname@email.com"
/上面的操作会在文件中创建 ~/.gitconfig /
/我们可以通过:/
git config --global --list 查看上面的相关设置。