git 基本操作


仓库地址: git@gitlab.xxxxx.com:root/xxx.git

----------------- 准备工作 ----------------- 

打开/etc/hosts在末尾另起一行,添加一行下的边内容保存,退出(可以复制粘贴)
命令vim /etc/hosts 添加内容10.18.95.7 gitlab.xxxxx.com
生成公钥:ssh-keygen(剩下可以直接回车直接掠过)
查看公钥:cat ~/.ssh/id_rsa.pub复制内容,管理员添加到git服务器
到工作项目目录下:
!!! 删除原来项目目录下的 .git 以及 .github文件夹
然后: git init # 初始化

----------------- 设置工作 ------------------

git config --global user.name “yourname”
git config --global user.email “youremail”
添加远程仓库: git remote add origin git@gitlab.xxxxx.com:root/xxx.git

----------------- 多分支git操作基本流程----------------- 

code下载:

1. 查看当当前分支:git branch 或者 git branch -av

2. 创建工作分支(如果没有): git checkout -b <name>

2-1. (如果在工作分支上,则略过)切换到工作分支(我的xwk):git checkout xwk

3. 下载代码:

git clone git@gitlab.xxxxx.com:root/xxx.git

git pull origin develop (可选,但是一般先拉取一下是最好的)

4. 上传代码:

项目目录下:

git add .

git status (可选)

git commit -m "此处书写提交的是什么更改或新增"

git status (可选)

以上是自己的提交部分,这时候是提交到缓存区,如果接下来pull的时候有冲突,

记得git stash和 pull完毕之后, git stash pop

如果没有提交git add, git commit, git stash,缓存区没有,pull下来的直接把本地代码覆盖,新写的代码就没有了!!!!

如果提交git add, git commit, 缓存区有,将缓存区的保存了,然后pull,pull完毕,发现刚才提交的都被覆盖了,继续git stash pop,新代码就提交上去了

 

git pull origin <your_branch_name>

5. (慎重)合并某分支到当前分支:git merge <branch_name>

6.git push origin master或者develop (强制提交使用-f)

 

----------------- 建议 ----------------- 

要经常使用以下命令:

状态查看: git status -s(简短查看) 或 git status -v

配置查看: git config --list (查看你经常忘记的git URL;哪个分支;自己用户名和邮箱配置,简写git config -l)

分支查看: git branch 或者 git branch -a

 

----------------- 可能或用到的命令 ----------------- 

删除分支:git branch -d <name>

设置git push和pull的默认分支: git branch --set-upstream-to=<remote>/<dev> <dev>

git diff #尚未缓存的改动

git diff --cached #查看已缓存的改动

git reset HEAD -- file 取消缓存已缓存的内容

1. git branch dev remotes/origin/dev #先将远程gitlab上创建的分支在本地别名化

2. git checkout dev #使用git checkout命令切换到dev分支下

3. git branch -av #查看当前分支,发现本地有了dev分支了(上面设置过的分支别名)

4. git checkout -b develop #创建本地并切换到develop

 

修改远程仓库地址的方法有三种

查看:git remote -v

1.修改命令

git remote origin set-url [url]

2.先删后加 (好用,优先使用)

git remote rm origin

git remote add origin [url]

3.直接修改config文件

 

删除分支

删除本地release 分支:

git branch –d 分支名

删除远程release 分支:

git push origin :分支名

版本回退

git reflog
git reset --hard 1094a

删除远程文件而不删除本地文件

git rm 会将条目从缓存区中移除

默认情况下,git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。 如果要在工作目录中留着该文件,可以使用

git rm --cached .或者 git rm -r --cached .(删除本地缓存)

删除我的git工程项目内的video文件夹包含其子文件夹

git rm --cached -r video

git pull 和git fetch的区别

git fetch:是将更新拉取到本地,并不进行合并;如果需要合并就要git merge

git pull: 更新代码拉取到本地直接合并,有时候有冲突会显示拉取冲突,一旦拉取冲突就要将自己代码新写未提交的地方add/commit/stash下,然后返回pull,然后stash pop, 然后push 上去

git pull = git fetch + git merge

.gitignore

不提交以下存在的文件夹

 du -lh 查看大文件比如几G的数据导出文件,不要提交到git

.idea
aaa_xwk/
aaa_xwk_data/
script/
111xwk/
db/
test001/
venv
*.pyc
video/

 

posted @ 2018-01-29 20:23  Adamanter  阅读(146)  评论(0编辑  收藏  举报