Git 常用命令

git add .

git rm filename

git rm --cached filename:移除暂存取文件

git reset --hard commitid

git reset --soft commitid

git show commitid

git commit -m "message"

git commit --amend -m "message"

git push url HEAD:refs/for/branchname[gerrit 提交]

git log -p filename:查看文件修改记录,已及文件的blogid

gitk filename:查看文件修改记录

git init :初始化库

git add .:添加到暂存区

git status:查看状态

git diff [commitid1 commitid2]

git diff :查看工作区 暂存区的区别

git diff --cached/--staged :查看暂存区和本地仓库区别

git diff commitid commitid

git diff commit commit filename:两个版本文件的区别

git checkout -- filename :丢弃对工作区的改动  git reset --hard HEAD :丢弃全部修改,使3个区域相同

git commit -m "":提交到本地仓库

git push url HEAD:remotebranchname

git branch -a:查看所有分支

git branch Test:基于当前提交创建分支

git branch Test commitid:基于commitid 创建分支

git clone ../Server/server.git ./:clone 代码

git reset HEAD:重置暂存区

git reset HEAD filename:重置暂存区某个文件

git reset --hard 版本号:回退到上个版本,此时工作区,暂存区,本地仓库一致

git reset --soft 版本号:回退到版本号,且保留工作区,和暂存区一致{如从当前版本号3 回退到2,此时的状态为2 与3版本,只差一次git commit}

git reset 版本号:回退到版本号{如从当前版本号3 回退到2,此时的状态为2 与3版本,相差git add 和git commit}

git reset HEAD filename:取消对某个文件的暂存

git checkout -b newbranch remotes/origin/Test1:基于远程分支创建分支

git pull origin Test1:Test1 :将远程分支Test1 合入到Test1的本地分支

git remote add urlname url:添加url 别名

git remote remote urlname:移除url 别名

git fetch url:会获取版本库中所有的提交

pull = fetch +merge

git log --oneline:简短log

git log -10:查看最近10条

git log --graph:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

在某个文件夹下创建 .gitignore 文件,用于过滤不需要git 跟中的文件

touch .gitignore

在  .gitignore 文件中添加不要跟踪文件如

*.txt :不跟踪txt 文件[* 为通配符]

/work:不跟踪work 目录下文件

test/:不跟踪文件路径中包含 test的目录文件

 

(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)

git stash :存储工作区和暂存区的修改

git stash pop:恢复位于栈顶被存储的修改

git stash list:列出所有的存储

stash@{0}: WIP on master: 63c04b0 add 1111
stash@{1}: WIP on master: 63c04b0 add 1111

git stash pop stash@{0}:恢复本次修改

git init --bare:初始化一个裸仓库{一般用于服务器端}

git remote -v:查看远程仓库具体url 对应的缩写

git remote add orign ../newserver/ :添加版本库

git remote rm orign :移除一个版本哭

git remote show orign

origin    /work/GitTest/2client/../1client/ (fetch)
origin    /work/GitTest/2client/../1client/ (push)

git clone irl:通常获取的是 master 分支

git branch -a:查看服务器上其他分支

git checkout --orphan test:创建一个空分支,此时这个分支是看不到的,通过git pull orign test:test 将服务器上代码合入到本地仓库,或者git commit 一次就可以看到该分支

平时创建的分支都是在当前分支的基础上创建的所以会产生一次commit

git pull urlshortname testsrc:testdest:将test 分支拉取到本地[第一次通过这种方式获取的代码本地分支和远程分支还没有关联,

此时可以使用 以下命令建立关联]

git branch --set-upstream-to=origin/remotebranch yourbranch:将本地分支和远程分支关联也可git push -u 创建分支关联{即通过一次指定url 的提交建立关联}

git pull :会将默认url服务器上所有分支信息获取到本地,否则需要指定对应的分支

 

FETCH_HEAD:存放是的获取的版本

HEAD:是当前指针指向的版本

-----------------------------------------------------------------------------

当前在master 分支 需要合入feature-a 分支

git merge feature-a

git checkout commit:检出某个版本,此时HEAD 指针指向commit ,而master 指针还在原来版本上

feature-a 分支{活动分支}  ,master 分支为 feature-a 的分叉分支,现在master 向前开发后,需要将feature-a 分支的下修改合入到

master 分支,一般就是在master 分支上,git merge feature-a. 但是这样会产生分叉。这里可以通过

在 feature-a 分支上进行一次变基操作

git rebase master:就是把分叉点改为master 分支最新的commit,然后

在master 分支上git merge feature-a

分支移植

当前分支为feature-a 分支 ,feature-a 和release 两个分支分别基于master 分支

git rebase master --onto release

这样feature-a 分支就不是基于master 分支,而是基于master 分支

---------------------------------------

git init --bare testinit.git:初始化一个没有工作区的仓库

  master
* test
  remotes/origin/HEAD -> origin/master----->远程分支的HEAD 指向的是master 分支 origin
  remotes/origin/master--->远程版本库master 分支
  remotes/origin/test-->远程版本库的test分支

git checkout -b test remotes/origin/test:从远程分支中叉出一个test 分支{否则新建分支会多出一个提交}

git push origin  :test :删除远程分支

git push/pull :默认只拉取当前分支的数据

----------------------------------------------------------------------------------------

TAG

git tag tagname branchname -m "messgae":创建一个Tag

git tag :查看tag

git push默认不推送Tag,通过以下方式推送Tag

git push tagname:推送到服务器

git push --tags

git tag -l :查看所有标签

git pull/fetch :会拉去所有的Tag

git pull/fetch --no-tags:不获取Tag

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值