git 常用指令

必知指令

git clone <网址>
从远程仓库克隆项目到本地

git add <文件>
增加文件索引

git commit -m “描述”
同步到本地仓库

git commit --amend
撤销上次提交文件

git push -u origin master
推送更改到远程 master 分支

git pull <远程主机> <分支>
取回远程分支 (在合并之前如果修改必须先commit)

初始化仓库
git init
在本地初始化一个 Git 仓库,用于版本控制。会在当前目录下创建 .git 目录,包含所有版本控制信息。

git init --bare
初始化一个裸仓库,不包含工作区,只存储 Git 的版本控制信息。常用于远程仓库的创建。

删除远程分支:

git push origin :<分支>
推送一个空分支到远程,删除远程分支。

git push origin --delete <分支>
删除远程指定分支。

分支操作:
git checkout -b dev
创建一个dev分支

git checkout -b <dev>
创建并切换到 dev 分支

git push origin <dev>
推送 dev 分支到远程。

git branch --set-upstream-to=origin/<dev>
建立分支文件跟踪

git branch --unset-upstream
取消分支的跟踪。

git branch (newbranch) (tagname)
根据tag创建新分支

git checkout 本地分支名(develop)
切换到指定的本地或远程分支。

git merge <分支>
当前分支和指定分支合并

git push --set-upstream origin test
创建远程分支 test (本地有test)

强制操作
git fetch --all
获取远程所有更新(合并之前需要切换到 master)

git reset --hard origin/master
强制重置本地master分支到远程master分支

git pull --force origin <远程分支>:<本地分支>
拉取远程分支honor覆盖本地honor

git remote rm origin
删除远程仓库地址

git remote add origin <URL>
添加新的远程仓库地址。

差分文件生成:

git diff --cached
比较与上一版本的差异

git diff <文件名> --cached
比较指定文件与上版本差异

git diff HEAD^ -- ./>diff_sdk.patch
比较当前目录提交内容和上一提交版本差异输出到xxx.patch

git diff <tagname> > xxx.patch
比较当前与tag 上 差异输出到xxx

tag快照:

git tag -a v1.5 -m “my version 1.4” 创建一个带注释的标签

git fetch origin tagname 建立远程tag联系 然后可以用git pull 拉取改tag

git tag v1.5 创建标签 v1.5

git tag -d v1.5 删除本地v1.5 tag

git push origin:refs / tags / [tag] 删除远程tag

git push origin v1.5 标签推送到仓库

git push origin --tags 推送所有标签

其他
git log -a
查看提交历史

git reset --hard [merge前的版本号]
回到merge前的版本

git 使用遇到的问题

gitignore不起作用

1
2
3
4
5
6
7
8
# 清除缓存
git rm -r --cached .

# 2. 应用.gitignore等本地配置文件重新建立Git索引
git add .

# 3. (可选)提交当前Git版本并备注说明
git commit -m 'update .gitignore'