学习笔记 – Git的使用

1.获取分支

获取主分支:

git clone http://[email protected]:XXXX/scm/pap/dir_name.git

指定获取其他分支(snowstorm分支):

 git clone -b snowstorm http://[email protected]:XXXX/scm/pap/dir_name.git

2.查看分支

cd /home/username/dir_name/
git status

3.创建并切换本地分支

git branch snowstorm

git checkout snowstorm

4.切换跟踪的远程分支

切换要跟踪的远程分支(origin/snowstorm为远程分支,snowstorm为本地分支):

git branch --set-upstream-to=origin/snowstorm snowstorm

创建远程分支(snowstorm为本地分支,snowstormtry为远程分支):

git push --set-upstream origin snowstorm:snowstormtry

删除远程分支(snowstormtry):

git push origin --delete snowstormtry

5.查看修改

若有修改,查看status会有提示:

modified: dir_name/new_change.py

查看具体修改:

git diff dir_name/new_change.py

即可看到每一行的修改

6.拉取更新

对于协同编写,可以用pull拉取别人上传的更新:

git pull

拉取分支的更新(origin snowstorm为远程分支):

git pull origin snowstorm

7.上传更新

(1)add/rm

添加需要上传的文件:

git add env.txt

或者本地删除了某个文件:

git rm env.txt

git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件

(2)commit

对修改的描述

git commit -m "add env"

(3)push

git push

push到指定分支(snowstorm分支):

git push origin snowstorm

8.删除远程文件

git rm -r --cached env.txt

9.忽略文件

在根目录创建文件 .gitignore ,并将要忽略的文件加进去:

folder            //忽略这个folder目录
file.json         //忽略这个file.json文件
folder/*          //忽略folder下的所有文件
folder/*.json      //忽略folder目录下的.json文件

注意,若要忽略的文件是.idea,且已经被git跟踪,之后再加入.gitignore后是没有作用的,需要取消跟踪:

git rm -r --cached .idea

10.报错

(1)add 时 报错:

warning: LF will be replaced by CRLF in XXX

换行符错误,在windows下使用以下代码修改:

git config --global core.autocrlf true

(2)add 时 报错:

fatal: not a git repository (or any of the parent directories): .git

重新添加git:

git init

(3)commit 时 报错:

Commit failed – exit code 128 received, with output: ‘*** Please tell me who you are.Rungit config –global user.email “[email protected]”git config –global user.name “Your Name”

需要到项目的.git\config文件最后加入

[user]
    name = name 
    email = email

(4)

commit 时 报错:

fatal: could not open ‘.git/COMMIT_EDITMSG’: Permission denied

对于Windows系统可以进入.git文件(隐藏文件)删除“COMMIT_EDITMSG”文件即可

(5)

push 时 报错:

fatal: unable to access ‘https://github.com/Snowstorm0/learn-post-send.git/’: OpenSSL SSL_read: Connection was aborted, errno 10053

Git默认限制了push的大小,更改限制即可:

 git config --global http.postBuffer 524288000

正文完