Git 版本管理工具介绍
Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。
常用命令
git init
创建本地仓库,在当前文件夹下创建一个 .git 文件夹,里面有版本信息、标记内容等。
git remote add origin git@github.com:zhengdehua/xxx.git
关联本地仓库和远程仓库, 关联后,每次 push 的时候就不用再指定远程仓库了。
git add
和 git rm
从本地仓库增删文件,结果会保存到本地缓存。
git commit -m "注释"
提交本机缓存中的内容到本地的 HEAD 里面。
git push origin master
把本地的 commit(提交) push 到远程仓库上,origin 就是之前
git remote add origin
里面的 origin, origin 代替了远程仓库的地址: git push git@github.com:zhengdehua/xxx.git master
git pull origin master
从远处仓库 pull 新的改动
git status
查看提交状态,可以看到增删改的文件变化。
git add -A
提交全部修改
取回远端 master 与本地 master 合并
git checkout master
git fetch --all
或 git fetch origin master
git reset --hard origin/master
或 git rebase origin/master
查找包含某文件的 commit
git log 文件路径
git show commit_id
或 git log --follow filename(绝对路径)
清空 git working copy 还没追踪的文件
git clena -f
git clean -f -d
(删除目录)
git clean -f -X
(删除忽略的文件)
git clean -f -x
(删除忽略和非忽略的文件)
使用 .gitignore 文件忽略指定文件或文件夹
- 在本地仓库根目录创建 .gitignore 文件。Win7 下不能直接创建,可以创建 “.gitignore.” 文件,后面的标点自动被忽略;
- 过滤文件和文件夹: [Tt]emp/ 过滤 Temp\temp 文件夹; *.suo 过滤 .suo 文件;
- 不过滤文件和文件夹: !*.c
配置 git
配置 git 用户信息:
git config --global user.name "xxx"
– 配置用户名
git config --global user.email "xxx"
– 配置邮箱
git config --list
– 查看配置列表配置 sshkey, 上传代码时这个 sshkey 用来确认是否有上传权限
以 github 为例:
1. 创建本地 ssh:ssh-keygen -t rsa -C "github 注册邮箱"
2. 在 github 中添加这个 sshkey:
复制 C:\Documents and Settings\Administrator.ssh\id_rsa.pub 文件中的内容;
登录 Github –> Account Setting –> SSH-KEY –> Add SSH-KEY –> 粘贴id_rsa.pub中的内容;
3. 验证:ssh -T git@github.com
出现 Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access. 说明配置成功,可以连接上 Github