git使用

1.创建git仓库
1)创建文件夹(名称最好全英文)
2)切换到创建的文件夹
3)执行 < git init > 命令,将当前目录设置为git仓库

2.将文件放在仓库
1)切换到仓库目录或其子目录
2)创建目标文件
3)执行命令 < git add > 将文件提交到仓库中的.git版本区中的暂存区
4)执行命令 < git commit -m “注释” > 将文件从版本区中的暂存区提交到版本区的当前分支

3.查看仓库文件状态
1)切换到仓库目录或其子目录
2)执行命令 < git status > 查看目录及其子目录中文件的状态

4.查看某个文件当前版本修改的内容
1)切换到仓库目录或其子目录
2)执行命令 < git diff >

5.提交修改
1)切换到仓库目录或其子目录
2)执行命令 < git add > 将文件提交到仓库
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 >,注:该操作只能在命令行窗口没有关掉,并且需要知道版本ID(可以从日志中查看到),版本号不需要写全,可以只写前几位
– 若回退后悔了,且找不到原来的版本号或者已关闭命令行窗口,我们可以使用< git reflog >查看我们的命令记录,从输出的内容中,我们可以获取到commit_id,然后可以使用上面的版本回退命令回退

8.撤销修改
1)切换到仓库目录或其子目录
2)使用命令 < git checkout – > 可以丢弃工作区的修改
– 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
– 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
3)如果将修改已经提交到了缓存区,我们可以使用< git reset HEAD >命令 将缓存区的修改撤销掉
9.删除文件
1)在目录中删除文件
2)git切换到仓库目录或其子目录
3)执行命令 < git rm > 删除文件
4)执行命令 < git commit -m “注释”>
注:如果删除错误,使用< git checkout – >回退

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 [email protected]:/.git>将本地仓库与远程仓库相连接
3)本地执行命令< git push -u master > 将本地仓库的当前分支push到远程仓库 -u参数一般在第一次push时使用,以后可以省略

12.从远程库克隆(从零开始,即没有本地库时,建议先创建远程库,然后从远程)
1)登录GitHub,创建远程库
–勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。
2)本地执行命令 < git clone [email protected]:/.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生成公钥和私钥
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

你可能感兴趣的:(GIT)