gitコンパイルインストールと共通コマンド
8552 ワード
git
=========================================
:
1.1:
github ( ):https://github.com/git/git.git
git windows mac :https://git-scm.com/downloads
1.2: ( )
~]# yum -y install gcc openssl openssl-devel curl curl-devel unzip perl perl-devel expat expat-devel zlib zlib-devel asciidoc xmlto gettext-devel openssh-clients
~]# yum -y install openssh-clients
# ssh-keygen -bash: ssh: command not found
1.3:
:
~]# make prefix=/usr/local/git all doc
~]# make prefix=/usr/local/git install install-doc install-html
:
~]# yum -y install autoconf
~]# make configure autoconf
# : configure
~]# ./configure --prefix=/usr/local/git
~]# make all doc
~]# make install install-doc install-html
:
~]# yum -y install git # git
~]# yum -y install git-all.noarch # git ,
1.4:
~]# echo 'export PATH=/usr/local/git/bin:$PATH' > /etc/profile.d/git.sh
~]# . /etc/profile.d/git.sh
~]# git --version #
1.5:man
~]# vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/git/share/man
:
~]# git help init
:
~]# man git-init
1.6:ssh , , ,
1: :
~]# useradd git
2: ( git):
/home/git/.ssh :700
/home/git/.ssh/authorized_keys :600
~]# mkdir /home/git/.ssh
~]# chmod 700 /home/git/.ssh
~]# touch /home/git/.ssh/authorized_keys
~]# chmod 600 /home/git/.ssh/authorized_keys
~]# chown -R git:git /home/git/.ssh
# : id_rsa 600 id_rsa.pub 644
3: (authorized_keys):
id_rsa.pub /home/git/.ssh/authorized_keys, , ,git 。
4: :( .git)
~]# cd /home/git # git
~]# git init --bare useryx.git
# git init --bare .git
~]# git init
# cd
~]# git clone --bare .git
# :git clone --bare useryx useryx.git
#
5: git
~]# chown git:git useryx.git
6:
~]# git clone [ssh://] @ : .git
# :git clone [email protected]:useryx.git git clone [email protected]:/home/git/dir/a.git
1.7: ssh , 。
~]# vim /etc/passwd
# git shell
1: linux /sbin/nologin
git:x:1001:1001::/home/git:/sbin/nologin
2: git git-shell /usr/local/git/bin/git-shell,which git-shell 。
git:x:1001:1001::/home/git:/usr/local/git/bin/git-shell
:
2.1: ssh-keygen( )
~]# su - git # git
~]# ssh-keygen
# rsa ,2048
~]# ssh-keygen -t rsa -b 4096 -C '[email protected]' -P '3a/Jd3v1wq6M1lrAO+Qc4bCHb2W3SynSTg3CT1GS'
# -t
# -C
# -b , 2048, 4096
# -P
~]# openssl rand -base64 30 # 30
# ssh-keygen , 。
2.2:
~}# git config --global user.name " "
~}# git config --global user.email " @aliyun.com"
2.3:
1: ( )
git clone [email protected]:useryx.git
cd useryx
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
2: Git
cd useryx
git init
git remote add origin [email protected]:useryx.git
git add .
git commit -m ' '
git push -u origin master
2.4:
~]# git config --list git config --l
2.5: ( .gitgmore)
~]# find ./ -name .gitignore
# .gitignore
~]# find ./ -name .gitignore -delete
# .gitignore
#
2.6:
~]# git clone file://root/test /tmp/test
~]# git clone test /tmp/test
# git
:
3.1: (add)
~]# git add filename
#
~]# git add . git add -A
#
3.2: (rm)
~]# rm #
~]# git rm -f filename # -f
~]# git rm filename #
~]# git rm --cached file # ,
~]# git cat-file -p hash #
3.3: (mv)
~]# mv # , 。
~]# git mv filename newfilename #
3.4: (commit)
~]# git commit -m ' '
~]# git commit -am ' ' #
3.5:
~]# git status
3.6:
(tracked)
~]# git ls-files
(igored)
~]# git ls-files -o
(untracked):
.gitignore
3.7:
~]# git pull
# : , merge
~]# git fetch
# : , merge
~]# git push origin master
# : ,
3.8: (log)
~]# git log
~]# git log --oneline
# ,
~]# git log --graph
#
~]# git log --pretty=oneline --abbrev-commit
3.9:
~]# git diff filename1 filename2
#
~]# git diff dev
#
3.9: (reset)
1:git reset –mixed : , , , commit index
2:git reset –soft : commit , index , , commit
3:git reset –hard : ,
HEAD:
ORIG_HEAD: ,
HEAD^ ,
^
~ , HEAD^
~]# git reset --hard ORIG_HEAD # commit
:
3.1:
~]# git branch --all
~]# git branch --list
3.:2:
~]# git branch # ( )
~]# git branch # ( commit id )
~]# git branch bug/first # ( )
~]# git branch bug/first # ( commit id )
~]# git checkout #
~]# git checkout -b #
3.3:
~]# git branch #
~]# git branch --list #
~]# git show-branch # branch
3.4:
~]# git branch -d
~]# git branch -D #
~]# git push origin --delete #
~]# git push --delete origin #
3.5:
~]# git push --set-upstream origin dev
# dev , dev git push
3.6:
~]# git diff dev
# dev
3.5:
~]# git merge dev
# dev
3.7:
~]# git reset --merge
#
3.8:
~]# git ls-files --unmerged
1:
2:
3:
~]# cat filename( )
++<<<<<
============
++>>>>>>>>>.
# add
3.9:
~]# git branch -m #
3.10:
~]# git push origin #
:
5.1:tag
git commit,commit , tag 。
tag , 。
5.2:
~]# git tag
5.3:
~]# git tag
~]# git show # commit id
5.4: commit id
~]# git tag
~]# git tag -a -m " "
5.5:
~]# git tag -d #
~]# git push origin :refs/tags/ #
5.6:
~]# git push origin
~]# git push origin --tags #
:
6.1:git status
git config --global core.quotepath false
6.2: ( )( git )
git config core.filemode false