git作为一种免费、开源的分布式版本控制系统,在代码版本控制、多人协作或者多处办公的场景中有着及其重要的作用。
当前关于git的主要操作有:
git的安装与配置
git安装
一般直接使用apt-get安装即可,此时输入:
apt-get install git
也可以使用源代码安装:
tar -zxf git-1.7.2.2.tar.gz
cd git-1.7.2.2
make prefix=/usr/local all
sudo make prefix=/usr/local install
git文件过滤
此场景主要出现在项目有些文件是本地用户的或者是文件过大而不能上传的,此时可以在git提交代码时注意无需提交该部分。但是在实际操作过程中,此操作太多繁琐,因此可以使用.gitignore文件来配置需要被过滤的文件、目录。
此时只需要在工程文件的git本地仓库.gitignore文件即可。
vim .gitignore
然后在.gitignore 文件中使用通配符来过滤不需要的文件。
#.gitignore
# 忽略所有的xls后缀的文件
*.xls
# 忽略*.o和*.a文件
*.[oa]
# 忽略*.b和*.B文件,my.b除外
*.[bB]
!my.b
# 忽略dbg文件和dbg目录
dbg
# 只忽略dbg目录,不忽略dbg文件
dbg/
# 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/
# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg
git账户配置
git 安装后需要进行配置,使用如下代码配置账户中的用户名和邮箱即可:
git config --global user.name "tonyhzw"
git config --global user.email tony_join@163.com
若需要查看配置后的信息,输入命令:
git config --list
git的常见使用
- 克隆远程代码库
git clone https:...(远程仓库地址)
- 添加远程代码仓库
git remote add origin https:...(远程仓库地址)
- 本地仓库切换分支
git checkout master(分支名)
- 查看本地仓库分支
git branch
- 添加本地新的分支
git checkout -b dev(分支名)
- 查看本地修改
git status
- 添加本地修改
- 删除本地某个文件或者文件夹
git rm ***
- 添加某个文件或者文件夹
git add ***
- 添加所有修改(含删除)
git add -A(或.)
- 取消本地修改(文件或文件夹)
git checkout ***
- 当同种操作有多个文件或者文件夹时,两两之间空格即可
- 删除本地某个文件或者文件夹
- 拉取远程仓库更新
git pull origin master(分支名)
- 提交本地修改
git commit -m '(本次提交备注)'
- 向远程仓库提交修改
git push origin master(分支名)
其他常见问题
本地仓库和远程仓库的合并
刚开始时不小心在本地已经初始化了一个仓库,此时又添加了远程仓库,故这时候会报错fatal: refusing to merge unrelated historie
,解决方案如下:
git pull origin master --allow-unrelated-histories
本地仓库代码的回滚
一般采用强制push到远程分支的方法,详细见参考文献。
①首先两步保证当前工作区是干净的,并且和远程分支代码一致
②备份当前分支(如有必要)
③恢复到指定的commit hash
git reset --hard resetVersionHash
④把当前分支强制提交到远程
git push -f origin currentBranch