git使用

  • Post author:
  • Post category:其他


1.

创建git仓库


1)创建文件夹(名称最好全英文)

2)切换到创建的文件夹

3)执行 < git init > 命令,将当前目录设置为git仓库

2.

将文件放在仓库


1)切换到仓库目录或其子目录

2)创建目标文件

3)执行命令 < git add <filename.suffix> > 将文件提交到仓库中的.git版本区中的暂存区

4)执行命令 < git commit -m “注释” > 将文件从版本区中的暂存区提交到版本区的当前分支

3.

查看仓库文件状态


1)切换到仓库目录或其子目录

2)执行命令 < git status > 查看目录及其子目录中文件的状态

4.

查看某个文件当前版本修改的内容


1)切换到仓库目录或其子目录

2)执行命令 < git diff <filename.suffix> >

5.

提交修改


1)切换到仓库目录或其子目录

2)执行命令 < git add <filename.suffix> > 将文件提交到仓库

3)执行命令 < git commit -m “注释” > 将文件提交到仓库

6.

查看版本历史记录日志


1)切换到仓库目录或其子目录

2)执行命令 < git log [ –pretty=oneline ] > 查看当前目录及其子目录的文件提交日志,–pretty=oneline参数可以简化输出信息

7.

回退版本


1)切换到仓库目录或其子目录

2)执行命令 < git reset –hard HEAD^> 其中HEAD表示当前版本,上一版本在HEAD后面加

符号,上上版本HEAD

^,多版本可以使用HEAD~100

– 若回退后悔了,可以使用命令< git reset –hard <commit_id> >,注:该操作只能在命令行窗口没有关掉,并且需要知道版本ID(可以从日志中查看到),版本号不需要写全,可以只写前几位

– 若回退后悔了,且找不到原来的版本号或者已关闭命令行窗口,我们可以使用< git reflog >查看我们的命令记录,从输出的内容中,我们可以获取到commit_id,然后可以使用上面的版本回退命令回退

8.

撤销修改


1)切换到仓库目录或其子目录

2)使用命令 < git checkout – <filename.suffix> > 可以丢弃工作区的修改

– 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

– 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态

3)如果将修改已经提交到了缓存区,我们可以使用< git reset HEAD <filename.suffix> >命令 将缓存区的修改撤销掉

9.

删除文件


1)在目录中删除文件

2)git切换到仓库目录或其子目录

3)执行命令 < git rm <filename.suffix> > 删除文件

4)执行命令 < git commit -m “注释”>

注:如果删除错误,使用< git checkout – <filename.suffix> >回退

10.

创建SSH Key


1)执行命令ssh-keygen -t rsa -C “


@


.**”

2)一路选择默认

3)用户主目录的.ssh目录中会生成id_rsa和id_rsa.pub这两个文件

4)登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”。

11.

添加远程库


1)登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库

– 在Repository name填入仓库名,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库

2)本地执行命令< git remote add git@github.com:/.git>将本地仓库与远程仓库相连接

3)本地执行命令< git push -u master > 将本地仓库的当前分支push到远程仓库 -u参数一般在第一次push时使用,以后可以省略

12.

从远程库克隆(从零开始,即没有本地库时,建议先创建远程库,然后从远程)


1)登录GitHub,创建远程库

–勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。

2)本地执行命令 < git clone git@github.com:/.git>克隆一个本地库

13.

创建分支


1)切换到项目目录

2)执行命令 < git checkout -b > ===== < git branch > + < git checkout > 创建并切换到制定分支

14.

查看当前项目分支


1)切换到项目目录

2)执行命令 < git branch > 查看当前分支,命令会列出所有分支,当前分支前面会标一个*号。

15.

合并分支


1)切换到项目目录

2)执行命令 < git merge > 用于合并指定分支到当前分支,所以在合并前需要先把分支切换到要合并的分支,比如master

3)用带参数的日志命令< git log –graph –pretty=oneline –abbrev-commit > 可以查看分支合并情况 ,–pretty=oneline:简化日志信息,一行显示 –abbrev-commit:提交校验码缩略显示

16.

删除分支


1)切换到项目目录

2)执行命令< git branch -d > 注:删除分支时,应该HEAD不指向到要删除的分支

注:如果有信息未合并,此时不能删除,如果需要强制删除,可以将 -d 换为 -D

17.

切换分支


1)切换到项目目录

2)执行命令 < git checkout >

18.

强制禁用Fast forward分支合并


1)切换到项目目录

2)执行命令< git merge –no-ff -m “提交描述” dev > -m 是因为本次合并要创建一个新的commit

注:Fast forward这种模式下,删除分支后,会丢掉分支信息

19.

分支备份


1)切换到项目目录

2)执行命令 < git stash > 把当前分支1工作现场“储藏”起来,等以后恢复现场后继续工作,一般用于在开发到一半时,遇到主线bug,需要紧急修复bug,将当前分支信息备份储存,在bug修复后将现场恢复。

…处理其他事情…

3)切换到分支1

4)执行命令 < git stash list > 查看保存的备份列表

5)执行命令 < git stash apply stash@{0} > 恢复指定的备份

20.

本地分支查看远程仓库信息


1)本地执行命令 < git remote [-v]> -v参数用于显示更详细的信息

21.

推送分支:就是把该分支上的所有本地提交推送到远程库


1)本地执行命令 < git push <远程主机名> <本地分支名>:<远程分支名>> //若本地分支名和远程分支名相同,可以只写一个

注:本地分支名可以为指定分支,无论当前HEAD是否在指定分支上

22.

多人在远程分支开发冲突解决


1)首先用< git pull > 把最新的提交从远程分支抓取下来,注:有时git pull也会失败,提示no tracking information,原因是没有指定本地dev分支与远程origin/dev分支的链接,可以使用< git branch –set-upstream-to=<远程主机名>/<远程分支名> <本地分支名> > 命令设置本地分支与远程分支的链接

2)在本地合并,解决冲突

3)冲突解决完后执行 commit ,然后 push

23.

免密码登录


1)Git Bash执行 : ssh-keygen -t rsa -C “你的Git注册邮箱” -b 4096生成公钥和私钥 注意:如果使用github导出的话可能会报RSA算法的问题,可以替换成ed25519算法

2)将rsa.pub公钥文件内容复制到gitlab的setting-SSH key中生成一个key

3)使用PuTTYgen程序将私钥文件生成对应的ppk文件

4)使用Pageant程序将生成的PPK文件添加到key中

5)使用git clone 克隆代码

6)若clone过程需要密码,且账号密码错误,可以在Git Bash中执行ssh -T git@xxxx 登录,如果还是需要密码,可能是git客户端和gitlab服务器IP地址不同,可以使用ifconfig eth0 192.168.1.1(举例) netmask 255.255.255.0重新设置IP



版权声明:本文为qq_33206732原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。