-
切换分支 git checkout 分支名
-
创建并切换到新分支 git checkout -b 分支名
-
查看本地和远程所有分支 git branch -a
-
查看本地分支或远程分支 git branch git branch -r
-
直接新建本地分支,将远程分支提取出来 git checkout -b local_branch origin/local_branch
-
本地分支改名 git branch -m 原名 更改的名
-
合并远程master分支到当前分支 git merge origin/master
-
将当前分支push到远程master分支 git push origin master
-
删除远程仓库的xx分支 git push origin xx
10.获取远程分支master并merge到当前分支 git pull origin master
将远程a分支拉取并合并到本地b分支 git pull a b
- 强制删除本地的xx分支 git branch -D xx
12 设置远程分支和本地分支的追踪关系 git branch -u origin/remote_branch_name local_branch_name
-
查看当前版本状态(是否修改) git status
-
增加x,y,z文件至index git add x y z
-
删除index中的文件x git rm x
-
增加当前子目录下所有更改过的文件至index git add .
-
放弃修改x文件,还原该文件 git checkout x
-
git commit -m ‘xxx’
11.显示提交日志 git log
12.仅显示最后一次提交日志 git log -n 1
13.显示最后一次提交所有更改过的文件 git log -n 1 --stat
14.显示最近一次提交的所有更改细节 git log -n 1 -p
15.回退到merge前 git reset —merge
16.刷新远程分支。 git remote update
- 回退
1.git log查看提交历史
2.git reset jbjhs(某个commit)/git reset —hard jbjhs (回退到这个commit,之前的修改全部舍弃)/git reset HEAD(回退到上一个版本)/git reset HEAD test.java(将该文件回退到上个版本)/git reset —hard origin/master将本地回退到和远程一样/git revert HEAD按照上次commit的相反再commit一次
3. Git push origin master —force(需要关闭分支保护,push之后再开启分支保护)
17 本地解冲突步骤(a合到test有冲突):
(1)git checkout test, git pull origin test
(2) git merge —no-ff a
(3) 解冲突
(4) git add . Git commit -m ‘’
(5) git push origin test
如果在很早的master上拉取的分支开发,可能会有冲突,先将master merge到开发分支解冲突。
18 拉取远程master更新时,本地master分支有未提交的文件
git stash
git pull
git stash pop
19 想在本地拉取远程的某一个分支进行改动
git checkout -b dev origin/dev
20 把一个仓库b的内容push到另外一个仓库a
git remote add notebook git.corp.kuaishou.com/huangqixian…
git pull notebook master(在a上就可以把b合到a了)
21git rm -r --cached . (用来删除ignore不生效的方法)
git add .
git commit -m 'update .gitignore
22 git tag -a 0.1.3 -m “Release version 0.1.3″ (打标签发版)
Git add .
Git commit
git push origin —tags
git tag -d 0.1.3
git push origin :refs/tags/0.1.3
- 新建git项目
git init
Git add .
Git commit -m ‘first commit'
git remote add origin github.com/hudeqi/test…
git push -u origin master
-
查看当前分支更改了哪些 git diff .
-
比较两个分支不同 git diff a b (a-,b+)
-
查看某个commit内容 git show commitid
28. Git checkout commitId -b new_branch 以某个commit为止切个新分支
- 迁移项目到另一个仓库
git remote set-url origin remote_git_address
git push
28 查看某次commit细节:git log、git show commit-id
29 查看某人代码提交行数
git log --author='username' --pretty=tformat: --numstat | awk '
{add += 2; loc += 2 } END { printf "添加了%s,删除了%s,合计%s\n", add, subs, loc }' -
-
git cherry-pick
-
Git rebase push时master有变更,需要先pull,pull完提交会分叉,先git rebase,再push,commit记录就会成为一条直线,你的提交就会在最上面
-
Git使用之Permission Denied问题解决:
1. ssh-keygen -t rsa -C "$your_email"
2. cat ~/.ssh/id_rsa.pub
3. 粘贴到git的ssh管理页面上
- 两个git仓库合并:
1. git remote add other git@github.com:kktjs/kkt-next.git(将 kkt-next 作为远程仓库,添加到 kkt 中,设置别名为 other)
2. git fetch other (从 kkt-next 仓库中拉取数据到本仓库)
3. git checkout -b kkt-next other/master (将 kkt-next 仓库拉取的 master 分支作为新分支 checkout 到本地,新分支名设定为 kkt-next)
4. git checkout master (切换回 kkt 的 master 分支)
5. git merge kkt-next --allow-unrelated-histories (将 kkt-next 合并入 kkt 的 master 分支)