git常见命令行,你学会了吗?

140 阅读2分钟

git配置用户名和密码

git config --global user.name "XXX" 
git config --global user.email XXX

git初始化

git init 操作完成后会在该项目目录下创建一个隐藏的git目录

git add

git add -A  提交所有变化 
git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) 
git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git commit

git commit -m "注释" 将代码提交到版本库(本地)

git branch

git branch 查看本地分支 
git branch -a 查看所有分支(包括远程分支、本地分支)
git branch -vv 查看本地分支和远程分支的映射关系 
git branch -d dev 删除本地分支
git push origin --delete dev 删除远程分支 
git branch -m oldBranchName newBranchName 重命名分支 
git branch --unset-upstream 撤销本地分支和远程分支的关系

git blame

git blame <file> 定位代码的最后一次修改。

添加远程仓库关联

git remote add origin url() git pull origin master --allow-unrelated-histories

删除远程仓库关联

git remote rm origin

删除远程分支

$ git push origin --delete [branch-name] $ git branch -dr [remote/branch]

git merge

git merge B 将当前分支B合并到A(假定当前分支是A) 
git merge --no-ff 以不快进的方式提交合并
git merge --squash B 将多个提交记录压缩成一个提交记录

git checkout

放弃工作区修改 
$ git checkout -- file.name (绝对路径和相对路径都可以) 
$ git checkout -- .

git tag 给代码打标签

$ git tag 0.1.1 
$ git push origin --tags 将本地所有标签发布到远程仓库 
$ git push origin --delete 标签名 删除远程仓库对应标签

git stash 储藏/缓存区

git stash 将当前分支的代码添加到储藏 
git stash list 查看储藏列表 
git stash clear 清空储藏 
git stash apply 应用最新储藏 不会删除储藏区的记录

git reset

git reset --hard HEAD^ 版本回退,回退多少个版本就写几个^ 
git reset --hard HEAD~n ~后面的数字表示回退几次提交 不写的话默认是一次

git cherry-pick

cherry-picker 意为挑拣提交,即合并分支的某一次提交。

git push

git push --set-upstream origin xx 设置上游分支 
git push -u origin feature/ft 强制推送

git fetch

git fetch origin branch1:branch2 首先执行上面的fetch操作 
使用远程branch1分支在本地创建branch2(但不会切换到该分支), 
如果本地不存在branch2分支, 则会自动创建一个新的branch2分支, 
如果本地存在branch2分支, 并且是`fast forward', 则自动合并两个分支,
否则, 会阻止以上操作.

git列出未追踪的文件

git ls-files --error-unmatch

实际工作中推荐GitKraken 图形化界面操作,提升效率