1.获取分支
获取主分支:
代码语言:shell复制git clone http://username@XX.XX.XX.XX:XXXX/scm/pap/dir_name.git
指定获取其他分支(snowstorm分支):
代码语言:shell复制 git clone -b snowstorm http://username@XX.XX.XX.XX:XXXX/scm/pap/dir_name.git
2.查看分支
代码语言:javascript复制cd /home/username/dir_name/
git status
3.创建并切换本地分支
代码语言:shell复制git branch snowstorm
代码语言:shell复制git checkout snowstorm
4.切换跟踪的远程分支
切换要跟踪的远程分支(origin/snowstorm为远程分支,snowstorm为本地分支):
代码语言:shell复制git branch --set-upstream-to=origin/snowstorm snowstorm
创建远程分支(snowstorm为本地分支,snowstormtry为远程分支):
代码语言:shell复制git push --set-upstream origin snowstorm:snowstormtry
删除远程分支(snowstormtry):
代码语言:shell复制git push origin --delete snowstormtry
5.查看修改
若有修改,查看status会有提示:
modified: dir_name/new_change.py
查看具体修改:
代码语言:shell复制git diff dir_name/new_change.py
即可看到每一行的修改
6.拉取更新
对于协同编写,可以用pull拉取别人上传的更新:
代码语言:shell复制git pull
拉取分支的更新(origin snowstorm为远程分支):
代码语言:shell复制git pull origin snowstorm
7.上传更新
(1)add/rm
添加需要上传的文件:
代码语言:shell复制git add env.txt
或者本地删除了某个文件:
代码语言:shell复制git rm env.txt
git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件
(2)commit
对修改的描述
代码语言:shell复制git commit -m "add env"
(3)push
代码语言:shell复制git push
push到指定分支(snowstorm分支):
代码语言:shell复制git push origin snowstorm
8.删除远程文件
代码语言:shell复制git rm -r --cached env.txt
9.忽略文件
在根目录创建文件 .gitignore ,并将要忽略的文件加进去:
代码语言:html复制folder //忽略这个folder目录
file.json //忽略这个file.json文件
folder/* //忽略folder下的所有文件
folder/*.json //忽略folder目录下的.json文件
注意,若要忽略的文件是.idea,且已经被git跟踪,之后再加入.gitignore后是没有作用的,需要取消跟踪:
代码语言:shell复制git rm -r --cached .idea
10.报错
(1)add 时 报错:
warning: LF will be replaced by CRLF in XXX
换行符错误,在windows下使用以下代码修改:
代码语言:shell复制git config --global core.autocrlf true
(2)add 时 报错:
fatal: not a git repository (or any of the parent directories): .git
重新添加git:
代码语言:shell复制git init
(3)commit 时 报错:
Commit failed - exit code 128 received, with output: '*** Please tell me who you are.Rungit config --global user.email "you@example.com"git config --global user.name "Your Name"
需要到项目的.gitconfig文件最后加入
代码语言:shell复制[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的大小,更改限制即可:
代码语言:shell复制 git config --global http.postBuffer 524288000