git 操作命令整理

 

1、git,github ,gitlab区别

•  Git是一个版本控制软件

•  GitHub与GitLab都是⽤用于管理理版本的服务端软件

•  GitHub提供免费服务(代码需公开)及付费服务 (代码为私有)

•  GitLab⽤用于在企业内部管理理Git版本库,功能上类似于GitHub

2、git文件的三种状态

• 已修改(modified)

• 已暂存(staged) --------可以通过gitadd命令

• 已提交(committed)---------可以通过git commit命令

 

 

 

3、windows上下载git  https://git-scm.com/download/win

4、设置提交的user.name和user.email

对于user.name和user.email来说,有3种设置方式

a./etc/gitconfig(全局,几乎不会使用),设置命令git config –-system(优先级最低)

b.~/.gitconfig(很常用) ,设置命令git config –-global  (常用)

c. 针对特定项目的,.git/config文件中,设置命令git config –local (优先级最高)

 举例如下:

git config --global user.name 'ttitfly'

git config --global user.email'ttitfly@163.com'

git config可以查看使用说明

 

可以查看配置的值,例如

查看所有的配置值

 

5、配置公钥到gitlab中

Gitlab中配置公钥的目的:避免每次提交需要输入用户名和密码

Git-bash命令窗口中生成公钥私钥:

输入:ssh-keygen,然后连续回车,会生成id_rsa.pub文件。

然后 登陆gitlab: http://101.37.48:8000/

登陆成功后:

 

 
输入公钥:

 

 

 

6、从远程仓库下载代码

第一次从远程仓库下载

Git clone远程仓库地址

Git clone远程仓库地址 字符串xx  #如果带上字符串xx,则会在本地创建字符串xx目录,不会使用默认的字符串目录

 

比如gitclone git@101.37.:java-dev/mytest.git

 

7、推送和拉取代码

关联git remote add origin https://gitee.com/maha/pig-ttitfly.git

git push origin master:master
 
git push -u origin master 做关联,以后直接git push即可

 

Git push推送代码到远程服务器

Git pull从远程拉取代码

 

8、初始化远程仓库文件【管理员操作】(远程仓库别名习惯命名为:origin)

git remote add dev https://gitee.com/maha/pig-ttitfly.git

dev为远程仓库别名 后面http 为远程仓库地址

配置完成后,可使用 git remote -v 命令查看是否生效

使用push命令,将代码提交到远程对应分支

git push dev master:dev-init
 
git pull <远程主机名> <远程分支名>:<本地分支名>
 
#dev 为设置的远程仓库别名,master为本地分支名,dev-init为远程分支名
 
git push -u dev master 做关联,以后直接git push即可
 
git remote show显示本地仓库关联的所有远程仓库的别名
git remote show 远程仓库别名 ,显示这个远程仓库的详细信息
 
git config –global push.default simple默认simple 模式(git push推送时本地将主动推送到远程关联的分支,而不是推送到相同的分支名
 
 

 

 

 

9、其他命令集合

一、删除文件git rm 所执行的逻辑

1、删除文件

2、将删除的文件状态变更为暂存区

如果对暂存区删除的文件做恢复需要操作2步

1、git resete Head 文件名 --à将待删除的文件从暂存区恢复到工作区(修改区)

2、git checkout – 文件名 -à丢弃工作区中所有修改

 

rm 所执行的逻辑

1、直接删除了文件,文件并未纳入到暂存区,需要调用gitadd 命令将删除纳入到暂存区

 

二、修改文件名git mv

执行逻辑

1、修改文件名

2、将修改的文件状态变更为暂存区

 

三、修改注释

Git commit–amend –m ‘修改上次注释’

 

四、gitlog

Ctrl+b往前翻页

Ctrl+f往后翻页

Git log–n 查看最近几条日志

Git log–-pretty=oneline

git log --pretty=format:"%h - %an,%ar : %s"

 

四、查看帮助

Git help add 查看git add的帮助

Git help commit 查看git commit 的帮助

 

五、git ignore

创建文件.gitignore,要忽略的文件写入到.gitignore文件中

/todo #仅仅忽略项目根目录下的todo文件,不包含subdir/todo文件

Build/ #忽略build/目录下的所有文件

Doc/*.txt#忽略doc目录下的txt文件,但不包含doc/subdir/a.txt文件

Doc/*/*.txt#忽略doc目录下的一级子目录下的所有txt文件

Doc/**/*.txt#忽略doc下所有层级子目录下的txt文件

 

六、gitbranch列出所有分支

Gitbranch new_fenzhi 创建一个新的分支

Gitcheckout 分支名,切换到新的分支

Gitbranch –d 分支名,删除一个分支

Gitcheckout –b new_fenzhi创建一个新的分支,并且切换到该分支

Gitmerge new_fenzhi ,将new_fenzhi上的代码合并到当前分支上。

git branch –a查看本地和远程所有的分支

git branch –av查看本地和远程所有的分支,并将分支最后一次提交的注释内容展示出来

 

 

七、Head指向的是当前分支

Master指向提交

 

八、版本回退

Git reset–hard HEAD^回退上个版本

Gitreset –hard HEAD^^回退上上个版本

Gitreset –hard 提交唯一标识符,自动回到某个版本

Gitreset –hard HEAD~n回退到倒数第n个提交

Gitreflog 查看操作日志

Git log查看提交日志

 

Gitcommit –am ‘dddd’ 合并git add和gitcommit (只对已存在的文件有效,新增的文件还是要一步步来)

 

图形界面gitk或者git gui, github desktop

 

 

GIT的提交id(commit id)是一个摘要值,这个摘要值实际上是个sha1计算出来的

 


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页