git常用命令

配置

#查看配置
git config --list
#配置用户信息
git config --global user.name  "zhang"            ( global  表示对所有项目起作用)
git config --global user.emal  "zhang@qq.com"
git config --global core.filemode  false          关闭对文件模式修改的跟踪(mac 下有用,),文件模式,比如 权限和所有者

创建仓库

#创建包含工作区的仓库,
mkdir demo
cd demo
git init 
#创建不包含工作区的仓库,一般会把该仓库放到服务器
mkdir demo
cd demo
git init --bare
或者 
git init --bare demo.git

demo目录可以是空的也可以是非空的
通常我们不需要创建版本库,都是从服务器上把版本库克隆到本地

#直接克隆,默认以demo为本地项目名
git clone git@github.com:xx/demo.git
#指定本地项目名称,如test
git clone git@github.com:xx/demo.git test

添加和提交文件

#将文件(修改)添加到暂存区
git add filename
git add *		#添加所有文件(修改)
#此时文件只是添加到了暂存区,还没有添加到本地版本库
#使用 commit 将文件(修改)提交到本地版本库
git commit -m 'message log'

#移除文件,删除对文件的跟踪,同时删除本地文件
git rm test.log
#仅移除对文件的跟踪,不删除本地文件
git rm --cached test.log
#只使用 rm 来删除文件,会删除本地的文件,但是不会移除对该文件的跟踪
#同样,在进行 git rm 操作后需要 commit 才会提交到版本库

回退到某个版本

git reset --hard commit_id	#回退到指定的commit_id
git reset --hard HEAD		#HEAD 表示最新的提交
git reset --hard HEAD^		#HEAD^ 表示上一个提交
git reset --hard HEAD~100	#HEAD~100 表示前100个提交,HEAD^^ = HEAD~2

查看 commit_id

git log 
git reflog  #记录每一条命令,包括 reset

当你用 git reset --hard HEAD^ 回退到上一版本时,再想恢复到当前的版本,就必须找到当前版本的commit id。Git提供了一个命令git reflog用来记录你的每一次命令
#远程仓库
对远程仓库的命令为 git remote

git remote -v #查看远程仓库地址
git remote add origin xxx.git	#添加远程仓库地址,origin相当于远程库的别名
git remote remove origin	#移除远程仓库origin
git remote rename origin origin2	#将别名origin重命名为origin2

上面只是添加了远程仓库的地址,还没有将本地的分支和远程的分支进行关联

分支

git checkout develop	#切换到develop分支
git checkout -b develop	#创建develop分支,并切换到develop分支
git checkout -b develop origin/develop	#将远程分支拉到本地,并切换到该分支
git branch		#查看本地分支,带 * 的为当前分支
git branch -r	#查看远程分支
git branch -a 	#查看所有分支,包括远程分支
git branch -v 	#查看分支信息
git branch -vv 	#查看分支信息和分支追踪关系
git branch -d bug_01	#如果该分支已经被合并到其他分支,则可以删除
git branch -D bug_01	#不管该分支有没有被合并到其他分支,都删除,相当于强制删除
git branch -r -d origin/develop	#删除远程分支 develop
git branch -m old_name new_name	#分支重命名
git branch -m new_name			#将当前分支重命名为 new_name
git merge feature	#将feature分支合并到当前分支
git branch --set-upstream-to=origin/feature feature  #设置本地feature追踪远程的feature分支,这样就可以直接使用 git pull 命令,而不需要 git pull origin/feature feature
git push origin feature:feature2	#将本地的feature分支推到远程,并新建分支feature2,此时他们并没有建立追踪关系,需要 git branch --set-upstream-to命令建立追踪
git fetch origin feature:feature2	#将远程的feature分支拉到本地,分支为feature2,同样没有建立追踪关系,也不会自动切换到feature2分支
git push --set-upstream origin feature 	#将本地分支(当前分支)推送到远程(origin)并建立追踪关系

http方式记住密码

暂时记住密码(默认是15分钟)

git config --global credential.helper cache

设置记住的时间,单位是秒

git config --global credential.helper 'cache --timeout=3600'

永久记住密码

git config --global credential.helper store

在仓库地址上加上用户名和密码

http://username:password@gitee.com/xx.git
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值